/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), 270 ms] (4) CpxRelTRS (5) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (6) TRS for Loop Detection (7) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) typed CpxTrs (11) OrderProof [LOWER BOUND(ID), 0 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 15.1 s] (14) BOUNDS(1, INF) (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxWeightedTrs (21) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxTypedWeightedTrs (23) CompletionProof [UPPER BOUND(ID), 0 ms] (24) CpxTypedWeightedCompleteTrs (25) NarrowingProof [BOTH BOUNDS(ID, ID), 7932 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 4 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), 3 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 21 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 13 ms] (56) CdtProblem (57) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (60) CdtProblem (61) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 7 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 41 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (104) CdtProblem (105) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 22 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (114) CdtProblem (115) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 35 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 31 ms] (124) CdtProblem (125) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 32 ms] (128) CdtProblem (129) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 102 ms] (132) CdtProblem (133) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 96 ms] (136) CdtProblem (137) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 10 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 238 ms] (140) CdtProblem (141) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 9 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 250 ms] (144) CdtProblem (145) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 34 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 406 ms] (148) CdtProblem (149) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 40 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 344 ms] (152) CdtProblem (153) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 53 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 192 ms] (156) CdtProblem (157) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 57 ms] (158) CdtProblem (159) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 305 ms] (160) CdtProblem (161) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 18 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 409 ms] (164) CdtProblem (165) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 26 ms] (166) 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(minus(0, Y)) -> mark(0) active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0)) -> mark(true) active(geq(0, s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0, s(Y))) -> mark(0) active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) 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(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) ---------------------------------------- (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(minus(0, Y)) -> mark(0) active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0)) -> mark(true) active(geq(0, s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0, s(Y))) -> mark(0) active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) 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(minus(0, Y)) -> mark(0) active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0)) -> mark(true) active(geq(0, s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0, s(Y))) -> mark(0) active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (6) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(minus(0, Y)) -> mark(0) active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0)) -> mark(true) active(geq(0, s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0, s(Y))) -> mark(0) active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(minus(0', Y)) -> mark(0') active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0')) -> mark(true) active(geq(0', s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0', s(Y))) -> mark(0') active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0')) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) The (relative) TRS S consists of the following rules: encArg(0') -> 0' encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(minus(0', Y)) -> mark(0') active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0')) -> mark(true) active(geq(0', s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0', s(Y))) -> mark(0') active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0')) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) encArg(0') -> 0' encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if 0' :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if true :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if false :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encArg :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_0 :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_true :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_false :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if hole_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if1_4 :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4 :: Nat -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if ---------------------------------------- (11) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, minus, geq, if, s, div, encArg They will be analysed ascendingly in the following order: active = mark minus < active geq < active if < active s < active div < active active < encArg minus < mark geq < mark if < mark s < mark div < mark mark < encArg minus < encArg geq < encArg if < encArg s < encArg div < encArg ---------------------------------------- (12) Obligation: Innermost TRS: Rules: active(minus(0', Y)) -> mark(0') active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0')) -> mark(true) active(geq(0', s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0', s(Y))) -> mark(0') active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0')) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) encArg(0') -> 0' encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if 0' :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if true :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if false :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encArg :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_active :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_minus :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_0 :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_mark :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_s :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_geq :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_true :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_false :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_div :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_if :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if hole_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if1_4 :: 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4 :: Nat -> 0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if Generator Equations: gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(0) <=> 0' gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(+(x, 1)) <=> cons_active(gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(x)) The following defined symbols remain to be analysed: minus, active, mark, geq, if, s, div, encArg They will be analysed ascendingly in the following order: active = mark minus < active geq < active if < active s < active div < active active < encArg minus < mark geq < mark if < mark s < mark div < mark mark < encArg minus < encArg geq < encArg if < encArg s < encArg div < encArg ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(+(1, n8976_4))) -> *3_4, rt in Omega(0) Induction Base: encArg(gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(+(1, 0))) Induction Step: encArg(gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(+(1, +(n8976_4, 1)))) ->_R^Omega(0) active(encArg(gen_0':true:false:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if2_4(+(1, n8976_4)))) ->_IH active(*3_4) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (14) BOUNDS(1, INF) ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(minus(0, Y)) -> mark(0) active(minus(s(X), s(Y))) -> mark(minus(X, Y)) active(geq(X, 0)) -> mark(true) active(geq(0, s(Y))) -> mark(false) active(geq(s(X), s(Y))) -> mark(geq(X, Y)) active(div(0, s(Y))) -> mark(0) active(div(s(X), s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) mark(minus(X1, X2)) -> active(minus(X1, X2)) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(geq(X1, X2)) -> active(geq(X1, X2)) mark(true) -> active(true) mark(false) -> active(false) mark(div(X1, X2)) -> active(div(mark(X1), X2)) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(mark(X1), X2) -> minus(X1, X2) minus(X1, mark(X2)) -> minus(X1, X2) minus(active(X1), X2) -> minus(X1, X2) minus(X1, active(X2)) -> minus(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) geq(mark(X1), X2) -> geq(X1, X2) geq(X1, mark(X2)) -> geq(X1, X2) geq(active(X1), X2) -> geq(X1, X2) geq(X1, active(X2)) -> geq(X1, X2) div(mark(X1), X2) -> div(X1, X2) div(X1, mark(X2)) -> div(X1, X2) div(active(X1), X2) -> div(X1, X2) div(X1, active(X2)) -> div(X1, X2) if(mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, mark(X2), X3) -> if(X1, X2, X3) if(X1, X2, mark(X3)) -> if(X1, X2, X3) if(active(X1), X2, X3) -> if(X1, X2, X3) if(X1, active(X2), X3) -> if(X1, X2, X3) if(X1, X2, active(X3)) -> if(X1, X2, X3) encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) 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(true) -> active(true) mark(false) -> active(false) div(c_mark(X1), X2) -> div(X1, X2) mark(c_div(X1, X2)) -> active(div(mark(X1), X2)) geq(X1, c_active(X2)) -> geq(X1, X2) mark(c_minus(X1, X2)) -> active(minus(X1, X2)) minus(X1, c_mark(X2)) -> minus(X1, X2) if(c_mark(X1), X2, X3) -> if(X1, X2, X3) if(X1, c_active(X2), X3) -> if(X1, X2, X3) mark(c_s(X)) -> active(s(mark(X))) active(c_if(true, X, Y)) -> mark(X) active(c_geq(c_s(X), c_s(Y))) -> mark(geq(X, Y)) s(c_active(X)) -> s(X) if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) active(c_geq(0, c_s(Y))) -> mark(false) active(c_minus(c_s(X), c_s(Y))) -> mark(minus(X, Y)) active(c_geq(X, 0)) -> mark(true) if(X1, X2, c_active(X3)) -> if(X1, X2, X3) active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) div(X1, c_active(X2)) -> div(X1, X2) if(X1, c_mark(X2), X3) -> if(X1, X2, X3) active(c_minus(0, Y)) -> mark(0) div(X1, c_mark(X2)) -> div(X1, X2) geq(c_active(X1), X2) -> geq(X1, X2) mark(c_geq(X1, X2)) -> active(geq(X1, X2)) s(c_mark(X)) -> s(X) div(c_active(X1), X2) -> div(X1, X2) geq(X1, c_mark(X2)) -> geq(X1, X2) mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) minus(c_active(X1), X2) -> minus(X1, X2) minus(X1, c_active(X2)) -> minus(X1, X2) active(c_if(false, X, Y)) -> mark(Y) minus(c_mark(X1), X2) -> minus(X1, X2) if(c_active(X1), X2, X3) -> if(X1, X2, X3) active(c_div(0, c_s(Y))) -> mark(0) geq(c_mark(X1), X2) -> geq(X1, X2) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(x_1)) -> active(encArg(x_1)) encArg(cons_mark(x_1)) -> mark(encArg(x_1)) encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_active(x_1) -> active(encArg(x_1)) encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) s(x0) -> c_s(x0) active(x0) -> c_active(x0) div(x0, x1) -> c_div(x0, x1) if(x0, x1, x2) -> c_if(x0, x1, x2) geq(x0, x1) -> c_geq(x0, x1) minus(x0, x1) -> c_minus(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(true) -> active(true) [1] mark(false) -> active(false) [1] div(c_mark(X1), X2) -> div(X1, X2) [1] mark(c_div(X1, X2)) -> active(div(mark(X1), X2)) [1] geq(X1, c_active(X2)) -> geq(X1, X2) [1] mark(c_minus(X1, X2)) -> active(minus(X1, X2)) [1] minus(X1, c_mark(X2)) -> minus(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] mark(c_s(X)) -> active(s(mark(X))) [1] active(c_if(true, X, Y)) -> mark(X) [1] active(c_geq(c_s(X), c_s(Y))) -> mark(geq(X, Y)) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_geq(0, c_s(Y))) -> mark(false) [1] active(c_minus(c_s(X), c_s(Y))) -> mark(minus(X, Y)) [1] active(c_geq(X, 0)) -> mark(true) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) [1] div(X1, c_active(X2)) -> div(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] active(c_minus(0, Y)) -> mark(0) [1] div(X1, c_mark(X2)) -> div(X1, X2) [1] geq(c_active(X1), X2) -> geq(X1, X2) [1] mark(c_geq(X1, X2)) -> active(geq(X1, X2)) [1] s(c_mark(X)) -> s(X) [1] div(c_active(X1), X2) -> div(X1, X2) [1] geq(X1, c_mark(X2)) -> geq(X1, X2) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] minus(c_active(X1), X2) -> minus(X1, X2) [1] minus(X1, c_active(X2)) -> minus(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] minus(c_mark(X1), X2) -> minus(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_div(0, c_s(Y))) -> mark(0) [1] geq(c_mark(X1), X2) -> geq(X1, X2) [1] encArg(0) -> 0 [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) [0] encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] div(x0, x1) -> c_div(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] geq(x0, x1) -> c_geq(x0, x1) [0] minus(x0, x1) -> c_minus(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(true) -> active(true) [1] mark(false) -> active(false) [1] div(c_mark(X1), X2) -> div(X1, X2) [1] mark(c_div(X1, X2)) -> active(div(mark(X1), X2)) [1] geq(X1, c_active(X2)) -> geq(X1, X2) [1] mark(c_minus(X1, X2)) -> active(minus(X1, X2)) [1] minus(X1, c_mark(X2)) -> minus(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] mark(c_s(X)) -> active(s(mark(X))) [1] active(c_if(true, X, Y)) -> mark(X) [1] active(c_geq(c_s(X), c_s(Y))) -> mark(geq(X, Y)) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_geq(0, c_s(Y))) -> mark(false) [1] active(c_minus(c_s(X), c_s(Y))) -> mark(minus(X, Y)) [1] active(c_geq(X, 0)) -> mark(true) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) [1] div(X1, c_active(X2)) -> div(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] active(c_minus(0, Y)) -> mark(0) [1] div(X1, c_mark(X2)) -> div(X1, X2) [1] geq(c_active(X1), X2) -> geq(X1, X2) [1] mark(c_geq(X1, X2)) -> active(geq(X1, X2)) [1] s(c_mark(X)) -> s(X) [1] div(c_active(X1), X2) -> div(X1, X2) [1] geq(X1, c_mark(X2)) -> geq(X1, X2) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] minus(c_active(X1), X2) -> minus(X1, X2) [1] minus(X1, c_active(X2)) -> minus(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] minus(c_mark(X1), X2) -> minus(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_div(0, c_s(Y))) -> mark(0) [1] geq(c_mark(X1), X2) -> geq(X1, X2) [1] encArg(0) -> 0 [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) [0] encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] div(x0, x1) -> c_div(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] geq(x0, x1) -> c_geq(x0, x1) [0] minus(x0, x1) -> c_minus(x0, x1) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if 0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if c_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if cons_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if 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_minus_2 encode_0 encode_mark_1 encode_s_1 encode_geq_2 encode_true encode_false encode_div_2 encode_if_3 s_1 active_1 div_2 if_3 geq_2 minus_2 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_geq(v0, v1) -> null_encode_geq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_div(v0, v1) -> null_encode_div [0] encode_if(v0, v1, v2) -> null_encode_if [0] s(v0) -> null_s [0] active(v0) -> null_active [0] div(v0, v1) -> null_div [0] if(v0, v1, v2) -> null_if [0] geq(v0, v1) -> null_geq [0] minus(v0, v1) -> null_minus [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_minus, null_encode_0, null_encode_mark, null_encode_s, null_encode_geq, null_encode_true, null_encode_false, null_encode_div, null_encode_if, null_s, null_active, null_div, null_if, null_geq, null_minus, 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(true) -> active(true) [1] mark(false) -> active(false) [1] div(c_mark(X1), X2) -> div(X1, X2) [1] mark(c_div(X1, X2)) -> active(div(mark(X1), X2)) [1] geq(X1, c_active(X2)) -> geq(X1, X2) [1] mark(c_minus(X1, X2)) -> active(minus(X1, X2)) [1] minus(X1, c_mark(X2)) -> minus(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] mark(c_s(X)) -> active(s(mark(X))) [1] active(c_if(true, X, Y)) -> mark(X) [1] active(c_geq(c_s(X), c_s(Y))) -> mark(geq(X, Y)) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_geq(0, c_s(Y))) -> mark(false) [1] active(c_minus(c_s(X), c_s(Y))) -> mark(minus(X, Y)) [1] active(c_geq(X, 0)) -> mark(true) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) [1] div(X1, c_active(X2)) -> div(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] active(c_minus(0, Y)) -> mark(0) [1] div(X1, c_mark(X2)) -> div(X1, X2) [1] geq(c_active(X1), X2) -> geq(X1, X2) [1] mark(c_geq(X1, X2)) -> active(geq(X1, X2)) [1] s(c_mark(X)) -> s(X) [1] div(c_active(X1), X2) -> div(X1, X2) [1] geq(X1, c_mark(X2)) -> geq(X1, X2) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] minus(c_active(X1), X2) -> minus(X1, X2) [1] minus(X1, c_active(X2)) -> minus(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] minus(c_mark(X1), X2) -> minus(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_div(0, c_s(Y))) -> mark(0) [1] geq(c_mark(X1), X2) -> geq(X1, X2) [1] encArg(0) -> 0 [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) [0] encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] div(x0, x1) -> c_div(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] geq(x0, x1) -> c_geq(x0, x1) [0] minus(x0, x1) -> c_minus(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_geq(v0, v1) -> null_encode_geq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_div(v0, v1) -> null_encode_div [0] encode_if(v0, v1, v2) -> null_encode_if [0] s(v0) -> null_s [0] active(v0) -> null_active [0] div(v0, v1) -> null_div [0] if(v0, v1, v2) -> null_if [0] geq(v0, v1) -> null_geq [0] minus(v0, v1) -> null_minus [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark 0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus: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(true) -> active(true) [1] mark(false) -> active(false) [1] div(c_mark(X1), X2) -> div(X1, X2) [1] mark(c_div(0, X2)) -> active(div(active(0), X2)) [2] mark(c_div(true, X2)) -> active(div(active(true), X2)) [2] mark(c_div(false, X2)) -> active(div(active(false), X2)) [2] mark(c_div(c_div(X1', X2'), X2)) -> active(div(active(div(mark(X1'), X2')), X2)) [2] mark(c_div(c_minus(X1'', X2''), X2)) -> active(div(active(minus(X1'', X2'')), X2)) [2] mark(c_div(c_s(X'), X2)) -> active(div(active(s(mark(X'))), X2)) [2] mark(c_div(c_geq(X11, X21), X2)) -> active(div(active(geq(X11, X21)), X2)) [2] mark(c_div(c_if(X12, X22, X3'), X2)) -> active(div(active(if(mark(X12), X22, X3')), X2)) [2] mark(c_div(X1, X2)) -> active(div(c_mark(X1), X2)) [1] mark(c_div(X1, X2)) -> active(div(null_mark, X2)) [1] geq(X1, c_active(X2)) -> geq(X1, X2) [1] mark(c_minus(X1, c_mark(X23))) -> active(minus(X1, X23)) [2] mark(c_minus(c_active(X13), X2)) -> active(minus(X13, X2)) [2] mark(c_minus(X1, c_active(X24))) -> active(minus(X1, X24)) [2] mark(c_minus(c_mark(X14), X2)) -> active(minus(X14, X2)) [2] mark(c_minus(X1, X2)) -> active(c_minus(X1, X2)) [1] mark(c_minus(X1, X2)) -> active(null_minus) [1] minus(X1, c_mark(X2)) -> minus(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] mark(c_s(0)) -> active(s(active(0))) [2] mark(c_s(true)) -> active(s(active(true))) [2] mark(c_s(false)) -> active(s(active(false))) [2] mark(c_s(c_div(X15, X25))) -> active(s(active(div(mark(X15), X25)))) [2] mark(c_s(c_minus(X16, X26))) -> active(s(active(minus(X16, X26)))) [2] mark(c_s(c_s(X''))) -> active(s(active(s(mark(X''))))) [2] mark(c_s(c_geq(X17, X27))) -> active(s(active(geq(X17, X27)))) [2] mark(c_s(c_if(X18, X28, X3''))) -> active(s(active(if(mark(X18), X28, X3'')))) [2] mark(c_s(X)) -> active(s(c_mark(X))) [1] mark(c_s(X)) -> active(s(null_mark)) [1] active(c_if(true, X, Y)) -> mark(X) [1] active(c_geq(c_s(X), c_s(c_active(X29)))) -> mark(geq(X, X29)) [2] active(c_geq(c_s(c_active(X19)), c_s(Y))) -> mark(geq(X19, Y)) [2] active(c_geq(c_s(X), c_s(c_mark(X210)))) -> mark(geq(X, X210)) [2] active(c_geq(c_s(c_mark(X110)), c_s(Y))) -> mark(geq(X110, Y)) [2] active(c_geq(c_s(X), c_s(Y))) -> mark(c_geq(X, Y)) [1] active(c_geq(c_s(X), c_s(Y))) -> mark(null_geq) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_geq(0, c_s(Y))) -> mark(false) [1] active(c_minus(c_s(X), c_s(c_mark(X211)))) -> mark(minus(X, X211)) [2] active(c_minus(c_s(c_active(X111)), c_s(Y))) -> mark(minus(X111, Y)) [2] active(c_minus(c_s(X), c_s(c_active(X212)))) -> mark(minus(X, X212)) [2] active(c_minus(c_s(c_mark(X112)), c_s(Y))) -> mark(minus(X112, Y)) [2] active(c_minus(c_s(X), c_s(Y))) -> mark(c_minus(X, Y)) [1] active(c_minus(c_s(X), c_s(Y))) -> mark(null_minus) [1] active(c_geq(X, 0)) -> mark(true) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) [1] div(X1, c_active(X2)) -> div(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] active(c_minus(0, Y)) -> mark(0) [1] div(X1, c_mark(X2)) -> div(X1, X2) [1] geq(c_active(X1), X2) -> geq(X1, X2) [1] mark(c_geq(X1, c_active(X223))) -> active(geq(X1, X223)) [2] mark(c_geq(c_active(X123), X2)) -> active(geq(X123, X2)) [2] mark(c_geq(X1, c_mark(X224))) -> active(geq(X1, X224)) [2] mark(c_geq(c_mark(X124), X2)) -> active(geq(X124, X2)) [2] mark(c_geq(X1, X2)) -> active(c_geq(X1, X2)) [1] mark(c_geq(X1, X2)) -> active(null_geq) [1] s(c_mark(X)) -> s(X) [1] div(c_active(X1), X2) -> div(X1, X2) [1] geq(X1, c_mark(X2)) -> geq(X1, X2) [1] mark(c_if(0, X2, X3)) -> active(if(active(0), X2, X3)) [2] mark(c_if(true, X2, X3)) -> active(if(active(true), X2, X3)) [2] mark(c_if(false, X2, X3)) -> active(if(active(false), X2, X3)) [2] mark(c_if(c_div(X125, X225), X2, X3)) -> active(if(active(div(mark(X125), X225)), X2, X3)) [2] mark(c_if(c_minus(X126, X226), X2, X3)) -> active(if(active(minus(X126, X226)), X2, X3)) [2] mark(c_if(c_s(X50), X2, X3)) -> active(if(active(s(mark(X50))), X2, X3)) [2] mark(c_if(c_geq(X127, X227), X2, X3)) -> active(if(active(geq(X127, X227)), X2, X3)) [2] mark(c_if(c_if(X128, X228, X310), X2, X3)) -> active(if(active(if(mark(X128), X228, X310)), X2, X3)) [2] mark(c_if(X1, X2, X3)) -> active(if(c_mark(X1), X2, X3)) [1] mark(c_if(X1, X2, X3)) -> active(if(null_mark, X2, X3)) [1] minus(c_active(X1), X2) -> minus(X1, X2) [1] minus(X1, c_active(X2)) -> minus(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] minus(c_mark(X1), X2) -> minus(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_div(0, c_s(Y))) -> mark(0) [1] geq(c_mark(X1), X2) -> geq(X1, X2) [1] encArg(0) -> 0 [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_active(0)) -> active(0) [0] encArg(cons_active(true)) -> active(true) [0] encArg(cons_active(false)) -> active(false) [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_minus(x_11, x_2'))) -> active(minus(encArg(x_11), encArg(x_2'))) [0] encArg(cons_active(cons_s(x_12))) -> active(s(encArg(x_12))) [0] encArg(cons_active(cons_geq(x_13, x_2''))) -> active(geq(encArg(x_13), encArg(x_2''))) [0] encArg(cons_active(cons_div(x_14, x_21))) -> active(div(encArg(x_14), encArg(x_21))) [0] encArg(cons_active(cons_if(x_15, x_22, x_3'))) -> active(if(encArg(x_15), encArg(x_22), encArg(x_3'))) [0] encArg(cons_active(x_1)) -> active(null_encArg) [0] encArg(cons_mark(0)) -> mark(0) [0] encArg(cons_mark(true)) -> mark(true) [0] encArg(cons_mark(false)) -> mark(false) [0] encArg(cons_mark(cons_active(x_16))) -> mark(active(encArg(x_16))) [0] encArg(cons_mark(cons_mark(x_17))) -> mark(mark(encArg(x_17))) [0] encArg(cons_mark(cons_minus(x_18, x_23))) -> mark(minus(encArg(x_18), encArg(x_23))) [0] encArg(cons_mark(cons_s(x_19))) -> mark(s(encArg(x_19))) [0] encArg(cons_mark(cons_geq(x_110, x_24))) -> mark(geq(encArg(x_110), encArg(x_24))) [0] encArg(cons_mark(cons_div(x_111, x_25))) -> mark(div(encArg(x_111), encArg(x_25))) [0] encArg(cons_mark(cons_if(x_112, x_26, x_3''))) -> mark(if(encArg(x_112), encArg(x_26), encArg(x_3''))) [0] encArg(cons_mark(x_1)) -> mark(null_encArg) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(0)) -> s(0) [0] encArg(cons_s(true)) -> s(true) [0] encArg(cons_s(false)) -> s(false) [0] encArg(cons_s(cons_active(x_197))) -> s(active(encArg(x_197))) [0] encArg(cons_s(cons_mark(x_198))) -> s(mark(encArg(x_198))) [0] encArg(cons_s(cons_minus(x_199, x_255))) -> s(minus(encArg(x_199), encArg(x_255))) [0] encArg(cons_s(cons_s(x_1100))) -> s(s(encArg(x_1100))) [0] encArg(cons_s(cons_geq(x_1101, x_256))) -> s(geq(encArg(x_1101), encArg(x_256))) [0] encArg(cons_s(cons_div(x_1102, x_257))) -> s(div(encArg(x_1102), encArg(x_257))) [0] encArg(cons_s(cons_if(x_1103, x_258, x_313))) -> s(if(encArg(x_1103), encArg(x_258), encArg(x_313))) [0] encArg(cons_s(x_1)) -> s(null_encArg) [0] encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) [0] encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_active(0) -> active(0) [0] encode_active(true) -> active(true) [0] encode_active(false) -> active(false) [0] encode_active(cons_active(x_11203)) -> active(active(encArg(x_11203))) [0] encode_active(cons_mark(x_11204)) -> active(mark(encArg(x_11204))) [0] encode_active(cons_minus(x_11205, x_2687)) -> active(minus(encArg(x_11205), encArg(x_2687))) [0] encode_active(cons_s(x_11206)) -> active(s(encArg(x_11206))) [0] encode_active(cons_geq(x_11207, x_2688)) -> active(geq(encArg(x_11207), encArg(x_2688))) [0] encode_active(cons_div(x_11208, x_2689)) -> active(div(encArg(x_11208), encArg(x_2689))) [0] encode_active(cons_if(x_11209, x_2690, x_3171)) -> active(if(encArg(x_11209), encArg(x_2690), encArg(x_3171))) [0] encode_active(x_1) -> active(null_encArg) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_mark(0) -> mark(0) [0] encode_mark(true) -> mark(true) [0] encode_mark(false) -> mark(false) [0] encode_mark(cons_active(x_11294)) -> mark(active(encArg(x_11294))) [0] encode_mark(cons_mark(x_11295)) -> mark(mark(encArg(x_11295))) [0] encode_mark(cons_minus(x_11296, x_2739)) -> mark(minus(encArg(x_11296), encArg(x_2739))) [0] encode_mark(cons_s(x_11297)) -> mark(s(encArg(x_11297))) [0] encode_mark(cons_geq(x_11298, x_2740)) -> mark(geq(encArg(x_11298), encArg(x_2740))) [0] encode_mark(cons_div(x_11299, x_2741)) -> mark(div(encArg(x_11299), encArg(x_2741))) [0] encode_mark(cons_if(x_11300, x_2742, x_3184)) -> mark(if(encArg(x_11300), encArg(x_2742), encArg(x_3184))) [0] encode_mark(x_1) -> mark(null_encArg) [0] encode_s(0) -> s(0) [0] encode_s(true) -> s(true) [0] encode_s(false) -> s(false) [0] encode_s(cons_active(x_11301)) -> s(active(encArg(x_11301))) [0] encode_s(cons_mark(x_11302)) -> s(mark(encArg(x_11302))) [0] encode_s(cons_minus(x_11303, x_2743)) -> s(minus(encArg(x_11303), encArg(x_2743))) [0] encode_s(cons_s(x_11304)) -> s(s(encArg(x_11304))) [0] encode_s(cons_geq(x_11305, x_2744)) -> s(geq(encArg(x_11305), encArg(x_2744))) [0] encode_s(cons_div(x_11306, x_2745)) -> s(div(encArg(x_11306), encArg(x_2745))) [0] encode_s(cons_if(x_11307, x_2746, x_3185)) -> s(if(encArg(x_11307), encArg(x_2746), encArg(x_3185))) [0] encode_s(x_1) -> s(null_encArg) [0] encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] div(x0, x1) -> c_div(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] geq(x0, x1) -> c_geq(x0, x1) [0] minus(x0, x1) -> c_minus(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_geq(v0, v1) -> null_encode_geq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_div(v0, v1) -> null_encode_div [0] encode_if(v0, v1, v2) -> null_encode_if [0] s(v0) -> null_s [0] active(v0) -> null_active [0] div(v0, v1) -> null_div [0] if(v0, v1, v2) -> null_if [0] geq(v0, v1) -> null_geq [0] minus(v0, v1) -> null_minus [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark 0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus: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 true => 2 false => 1 null_encArg => 0 null_encode_active => 0 null_encode_minus => 0 null_encode_0 => 0 null_encode_mark => 0 null_encode_s => 0 null_encode_geq => 0 null_encode_true => 0 null_encode_false => 0 null_encode_div => 0 null_encode_if => 0 null_s => 0 null_active => 0 null_div => 0 null_if => 0 null_geq => 0 null_minus => 0 null_mark => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: Y >= 0, X >= 0, z = 1 + 2 + X + Y active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 2 }-> mark(minus(X, X211)) :|: z = 1 + (1 + X) + (1 + (1 + X211)), X >= 0, X211 >= 0 active(z) -{ 2 }-> mark(minus(X, X212)) :|: X212 >= 0, z = 1 + (1 + X) + (1 + (1 + X212)), X >= 0 active(z) -{ 2 }-> mark(minus(X111, Y)) :|: Y >= 0, z = 1 + (1 + (1 + X111)) + (1 + Y), X111 >= 0 active(z) -{ 2 }-> mark(minus(X112, Y)) :|: Y >= 0, z = 1 + (1 + (1 + X112)) + (1 + Y), X112 >= 0 active(z) -{ 1 }-> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 2 }-> mark(geq(X, X210)) :|: z = 1 + (1 + X) + (1 + (1 + X210)), X >= 0, X210 >= 0 active(z) -{ 2 }-> mark(geq(X, X29)) :|: z = 1 + (1 + X) + (1 + (1 + X29)), X29 >= 0, X >= 0 active(z) -{ 2 }-> mark(geq(X110, Y)) :|: X110 >= 0, Y >= 0, z = 1 + (1 + (1 + X110)) + (1 + Y) active(z) -{ 2 }-> mark(geq(X19, Y)) :|: z = 1 + (1 + (1 + X19)) + (1 + Y), Y >= 0, X19 >= 0 active(z) -{ 1 }-> mark(2) :|: z = 1 + X + 0, X >= 0 active(z) -{ 1 }-> mark(1) :|: Y >= 0, z = 1 + 0 + (1 + Y) active(z) -{ 1 }-> mark(0) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(0) :|: Y >= 0, z = 1 + 0 + Y active(z) -{ 1 }-> mark(0) :|: Y >= 0, z = 1 + 0 + (1 + Y) active(z) -{ 1 }-> mark(1 + X + Y) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 div(z, z') -{ 1 }-> div(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 div(z, z') -{ 1 }-> div(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 div(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 div(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> s(s(encArg(x_1100))) :|: x_1100 >= 0, z = 1 + (1 + x_1100) encArg(z) -{ 0 }-> s(minus(encArg(x_199), encArg(x_255))) :|: z = 1 + (1 + x_199 + x_255), x_255 >= 0, x_199 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(x_198))) :|: x_198 >= 0, z = 1 + (1 + x_198) encArg(z) -{ 0 }-> s(if(encArg(x_1103), encArg(x_258), encArg(x_313))) :|: x_258 >= 0, z = 1 + (1 + x_1103 + x_258 + x_313), x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> s(geq(encArg(x_1101), encArg(x_256))) :|: x_1101 >= 0, x_256 >= 0, z = 1 + (1 + x_1101 + x_256) encArg(z) -{ 0 }-> s(div(encArg(x_1102), encArg(x_257))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_257), x_257 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_197))) :|: x_197 >= 0, z = 1 + (1 + x_197) encArg(z) -{ 0 }-> s(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> s(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> s(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> s(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> mark(minus(encArg(x_18), encArg(x_23))) :|: z = 1 + (1 + x_18 + x_23), x_23 >= 0, x_18 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(x_17))) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> mark(if(encArg(x_112), encArg(x_26), encArg(x_3''))) :|: x_26 >= 0, z = 1 + (1 + x_112 + x_26 + x_3''), x_112 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> mark(geq(encArg(x_110), encArg(x_24))) :|: z = 1 + (1 + x_110 + x_24), x_24 >= 0, x_110 >= 0 encArg(z) -{ 0 }-> mark(div(encArg(x_111), encArg(x_25))) :|: z = 1 + (1 + x_111 + x_25), x_25 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(active(encArg(x_16))) :|: x_16 >= 0, z = 1 + (1 + x_16) encArg(z) -{ 0 }-> mark(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> mark(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> geq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> div(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> active(s(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> active(minus(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(mark(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> active(if(encArg(x_15), encArg(x_22), encArg(x_3'))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_22 + x_3'), x_3' >= 0, x_22 >= 0 encArg(z) -{ 0 }-> active(geq(encArg(x_13), encArg(x_2''))) :|: x_13 >= 0, x_2'' >= 0, z = 1 + (1 + x_13 + x_2'') encArg(z) -{ 0 }-> active(div(encArg(x_14), encArg(x_21))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> active(active(encArg(x_1'))) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> active(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> active(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> active(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> active(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(s(encArg(x_11206))) :|: z = 1 + x_11206, x_11206 >= 0 encode_active(z) -{ 0 }-> active(minus(encArg(x_11205), encArg(x_2687))) :|: z = 1 + x_11205 + x_2687, x_11205 >= 0, x_2687 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(x_11204))) :|: z = 1 + x_11204, x_11204 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_11209), encArg(x_2690), encArg(x_3171))) :|: x_3171 >= 0, x_11209 >= 0, z = 1 + x_11209 + x_2690 + x_3171, x_2690 >= 0 encode_active(z) -{ 0 }-> active(geq(encArg(x_11207), encArg(x_2688))) :|: z = 1 + x_11207 + x_2688, x_11207 >= 0, x_2688 >= 0 encode_active(z) -{ 0 }-> active(div(encArg(x_11208), encArg(x_2689))) :|: x_11208 >= 0, x_2689 >= 0, z = 1 + x_11208 + x_2689 encode_active(z) -{ 0 }-> active(active(encArg(x_11203))) :|: z = 1 + x_11203, x_11203 >= 0 encode_active(z) -{ 0 }-> active(2) :|: z = 2 encode_active(z) -{ 0 }-> active(1) :|: z = 1 encode_active(z) -{ 0 }-> active(0) :|: z = 0 encode_active(z) -{ 0 }-> active(0) :|: x_1 >= 0, z = x_1 encode_active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_div(z, z') -{ 0 }-> div(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_div(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_geq(z, z') -{ 0 }-> geq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_geq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(x_11297))) :|: z = 1 + x_11297, x_11297 >= 0 encode_mark(z) -{ 0 }-> mark(minus(encArg(x_11296), encArg(x_2739))) :|: x_11296 >= 0, x_2739 >= 0, z = 1 + x_11296 + x_2739 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_11295))) :|: z = 1 + x_11295, x_11295 >= 0 encode_mark(z) -{ 0 }-> mark(if(encArg(x_11300), encArg(x_2742), encArg(x_3184))) :|: z = 1 + x_11300 + x_2742 + x_3184, x_2742 >= 0, x_11300 >= 0, x_3184 >= 0 encode_mark(z) -{ 0 }-> mark(geq(encArg(x_11298), encArg(x_2740))) :|: x_11298 >= 0, z = 1 + x_11298 + x_2740, x_2740 >= 0 encode_mark(z) -{ 0 }-> mark(div(encArg(x_11299), encArg(x_2741))) :|: z = 1 + x_11299 + x_2741, x_2741 >= 0, x_11299 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_11294))) :|: x_11294 >= 0, z = 1 + x_11294 encode_mark(z) -{ 0 }-> mark(2) :|: z = 2 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_minus(z, z') -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> s(s(encArg(x_11304))) :|: x_11304 >= 0, z = 1 + x_11304 encode_s(z) -{ 0 }-> s(minus(encArg(x_11303), encArg(x_2743))) :|: x_2743 >= 0, z = 1 + x_11303 + x_2743, x_11303 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(x_11302))) :|: z = 1 + x_11302, x_11302 >= 0 encode_s(z) -{ 0 }-> s(if(encArg(x_11307), encArg(x_2746), encArg(x_3185))) :|: x_11307 >= 0, x_3185 >= 0, x_2746 >= 0, z = 1 + x_11307 + x_2746 + x_3185 encode_s(z) -{ 0 }-> s(geq(encArg(x_11305), encArg(x_2744))) :|: x_2744 >= 0, z = 1 + x_11305 + x_2744, x_11305 >= 0 encode_s(z) -{ 0 }-> s(div(encArg(x_11306), encArg(x_2745))) :|: x_11306 >= 0, z = 1 + x_11306 + x_2745, x_2745 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(x_11301))) :|: z = 1 + x_11301, x_11301 >= 0 encode_s(z) -{ 0 }-> s(2) :|: z = 2 encode_s(z) -{ 0 }-> s(1) :|: z = 1 encode_s(z) -{ 0 }-> s(0) :|: z = 0 encode_s(z) -{ 0 }-> s(0) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: geq(z, z') -{ 1 }-> geq(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 geq(z, z') -{ 1 }-> geq(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 geq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 geq(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, z = 1 + X1, X3 >= 0, X2 >= 0, z' = X2, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, z' = 1 + X2, X2 >= 0, z = X1, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = 1 + X3 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 0 }-> 1 + x0 + x1 + x2 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z'' = x2, x2 >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(X''))))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> active(s(active(minus(X16, X26)))) :|: X16 >= 0, X26 >= 0, z = 1 + (1 + X16 + X26) mark(z) -{ 2 }-> active(s(active(if(mark(X18), X28, X3'')))) :|: X18 >= 0, X28 >= 0, X3'' >= 0, z = 1 + (1 + X18 + X28 + X3'') mark(z) -{ 2 }-> active(s(active(geq(X17, X27)))) :|: z = 1 + (1 + X17 + X27), X17 >= 0, X27 >= 0 mark(z) -{ 2 }-> active(s(active(div(mark(X15), X25)))) :|: z = 1 + (1 + X15 + X25), X15 >= 0, X25 >= 0 mark(z) -{ 2 }-> active(s(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(s(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 2 }-> active(minus(X1, X23)) :|: X1 >= 0, z = 1 + X1 + (1 + X23), X23 >= 0 mark(z) -{ 2 }-> active(minus(X1, X24)) :|: z = 1 + X1 + (1 + X24), X1 >= 0, X24 >= 0 mark(z) -{ 2 }-> active(minus(X13, X2)) :|: z = 1 + (1 + X13) + X2, X2 >= 0, X13 >= 0 mark(z) -{ 2 }-> active(minus(X14, X2)) :|: X2 >= 0, z = 1 + (1 + X14) + X2, X14 >= 0 mark(z) -{ 2 }-> active(if(active(s(mark(X50))), X2, X3)) :|: X50 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X50) + X2 + X3 mark(z) -{ 2 }-> active(if(active(minus(X126, X226)), X2, X3)) :|: z = 1 + (1 + X126 + X226) + X2 + X3, X3 >= 0, X126 >= 0, X226 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(if(mark(X128), X228, X310)), X2, X3)) :|: X128 >= 0, z = 1 + (1 + X128 + X228 + X310) + X2 + X3, X3 >= 0, X310 >= 0, X228 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(geq(X127, X227)), X2, X3)) :|: X227 >= 0, z = 1 + (1 + X127 + X227) + X2 + X3, X3 >= 0, X127 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(div(mark(X125), X225)), X2, X3)) :|: z = 1 + (1 + X125 + X225) + X2 + X3, X125 >= 0, X225 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(2), X2, X3)) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(1), X2, X3)) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(0), X2, X3)) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 1 }-> active(if(0, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(if(1 + X1, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(geq(X1, X223)) :|: X1 >= 0, X223 >= 0, z = 1 + X1 + (1 + X223) mark(z) -{ 2 }-> active(geq(X1, X224)) :|: X1 >= 0, X224 >= 0, z = 1 + X1 + (1 + X224) mark(z) -{ 2 }-> active(geq(X123, X2)) :|: z = 1 + (1 + X123) + X2, X123 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(geq(X124, X2)) :|: X124 >= 0, z = 1 + (1 + X124) + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(s(mark(X'))), X2)) :|: X' >= 0, z = 1 + (1 + X') + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(minus(X1'', X2'')), X2)) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2'') + X2, X2'' >= 0, X2 >= 0 mark(z) -{ 2 }-> active(div(active(if(mark(X12), X22, X3')), X2)) :|: X3' >= 0, X12 >= 0, X22 >= 0, z = 1 + (1 + X12 + X22 + X3') + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(geq(X11, X21)), X2)) :|: z = 1 + (1 + X11 + X21) + X2, X11 >= 0, X21 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(div(active(div(mark(X1'), X2')), X2)) :|: X2' >= 0, X1' >= 0, X2 >= 0, z = 1 + (1 + X1' + X2') + X2 mark(z) -{ 2 }-> active(div(active(2), X2)) :|: z = 1 + 2 + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(1), X2)) :|: z = 1 + 1 + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(0), X2)) :|: z = 1 + 0 + X2, X2 >= 0 mark(z) -{ 1 }-> active(div(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(div(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(2) :|: z = 2 mark(z) -{ 1 }-> active(1) :|: z = 1 mark(z) -{ 1 }-> active(0) :|: z = 0 mark(z) -{ 1 }-> active(0) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(1 + X1 + X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 minus(z, z') -{ 1 }-> minus(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 minus(z, z') -{ 1 }-> minus(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 minus(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 s(z) -{ 1 }-> s(X) :|: z = 1 + X, X >= 0 s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 s(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: Y >= 0, X >= 0, z = 1 + 2 + X + Y active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 2 }-> mark(minus(X, X211)) :|: z = 1 + (1 + X) + (1 + (1 + X211)), X >= 0, X211 >= 0 active(z) -{ 2 }-> mark(minus(X, X212)) :|: X212 >= 0, z = 1 + (1 + X) + (1 + (1 + X212)), X >= 0 active(z) -{ 2 }-> mark(minus(X111, Y)) :|: Y >= 0, z = 1 + (1 + (1 + X111)) + (1 + Y), X111 >= 0 active(z) -{ 2 }-> mark(minus(X112, Y)) :|: Y >= 0, z = 1 + (1 + (1 + X112)) + (1 + Y), X112 >= 0 active(z) -{ 1 }-> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 2 }-> mark(geq(X, X210)) :|: z = 1 + (1 + X) + (1 + (1 + X210)), X >= 0, X210 >= 0 active(z) -{ 2 }-> mark(geq(X, X29)) :|: z = 1 + (1 + X) + (1 + (1 + X29)), X29 >= 0, X >= 0 active(z) -{ 2 }-> mark(geq(X110, Y)) :|: X110 >= 0, Y >= 0, z = 1 + (1 + (1 + X110)) + (1 + Y) active(z) -{ 2 }-> mark(geq(X19, Y)) :|: z = 1 + (1 + (1 + X19)) + (1 + Y), Y >= 0, X19 >= 0 active(z) -{ 1 }-> mark(2) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(1) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(0) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(0) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(0) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(1 + X + Y) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 0 }-> 0 :|: z >= 0 active(z) -{ 0 }-> 1 + z :|: z >= 0 div(z, z') -{ 1 }-> div(z, z' - 1) :|: z >= 0, z' - 1 >= 0 div(z, z') -{ 1 }-> div(z - 1, z') :|: z - 1 >= 0, z' >= 0 div(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 div(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 encArg(z) -{ 0 }-> s(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(minus(encArg(x_199), encArg(x_255))) :|: z = 1 + (1 + x_199 + x_255), x_255 >= 0, x_199 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(if(encArg(x_1103), encArg(x_258), encArg(x_313))) :|: x_258 >= 0, z = 1 + (1 + x_1103 + x_258 + x_313), x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> s(geq(encArg(x_1101), encArg(x_256))) :|: x_1101 >= 0, x_256 >= 0, z = 1 + (1 + x_1101 + x_256) encArg(z) -{ 0 }-> s(div(encArg(x_1102), encArg(x_257))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_257), x_257 >= 0 encArg(z) -{ 0 }-> s(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> s(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> s(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> s(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(minus(encArg(x_18), encArg(x_23))) :|: z = 1 + (1 + x_18 + x_23), x_23 >= 0, x_18 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(if(encArg(x_112), encArg(x_26), encArg(x_3''))) :|: x_26 >= 0, z = 1 + (1 + x_112 + x_26 + x_3''), x_112 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> mark(geq(encArg(x_110), encArg(x_24))) :|: z = 1 + (1 + x_110 + x_24), x_24 >= 0, x_110 >= 0 encArg(z) -{ 0 }-> mark(div(encArg(x_111), encArg(x_25))) :|: z = 1 + (1 + x_111 + x_25), x_25 >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> mark(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> mark(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> mark(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> geq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> div(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> active(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(minus(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> active(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(if(encArg(x_15), encArg(x_22), encArg(x_3'))) :|: x_15 >= 0, z = 1 + (1 + x_15 + x_22 + x_3'), x_3' >= 0, x_22 >= 0 encArg(z) -{ 0 }-> active(geq(encArg(x_13), encArg(x_2''))) :|: x_13 >= 0, x_2'' >= 0, z = 1 + (1 + x_13 + x_2'') encArg(z) -{ 0 }-> active(div(encArg(x_14), encArg(x_21))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_21), x_21 >= 0 encArg(z) -{ 0 }-> active(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> active(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> active(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> active(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(s(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(minus(encArg(x_11205), encArg(x_2687))) :|: z = 1 + x_11205 + x_2687, x_11205 >= 0, x_2687 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_11209), encArg(x_2690), encArg(x_3171))) :|: x_3171 >= 0, x_11209 >= 0, z = 1 + x_11209 + x_2690 + x_3171, x_2690 >= 0 encode_active(z) -{ 0 }-> active(geq(encArg(x_11207), encArg(x_2688))) :|: z = 1 + x_11207 + x_2688, x_11207 >= 0, x_2688 >= 0 encode_active(z) -{ 0 }-> active(div(encArg(x_11208), encArg(x_2689))) :|: x_11208 >= 0, x_2689 >= 0, z = 1 + x_11208 + x_2689 encode_active(z) -{ 0 }-> active(active(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(2) :|: z = 2 encode_active(z) -{ 0 }-> active(1) :|: z = 1 encode_active(z) -{ 0 }-> active(0) :|: z = 0 encode_active(z) -{ 0 }-> active(0) :|: z >= 0 encode_active(z) -{ 0 }-> 0 :|: z >= 0 encode_div(z, z') -{ 0 }-> div(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_div(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_geq(z, z') -{ 0 }-> geq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_geq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(minus(encArg(x_11296), encArg(x_2739))) :|: x_11296 >= 0, x_2739 >= 0, z = 1 + x_11296 + x_2739 encode_mark(z) -{ 0 }-> mark(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(if(encArg(x_11300), encArg(x_2742), encArg(x_3184))) :|: z = 1 + x_11300 + x_2742 + x_3184, x_2742 >= 0, x_11300 >= 0, x_3184 >= 0 encode_mark(z) -{ 0 }-> mark(geq(encArg(x_11298), encArg(x_2740))) :|: x_11298 >= 0, z = 1 + x_11298 + x_2740, x_2740 >= 0 encode_mark(z) -{ 0 }-> mark(div(encArg(x_11299), encArg(x_2741))) :|: z = 1 + x_11299 + x_2741, x_2741 >= 0, x_11299 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(2) :|: z = 2 encode_mark(z) -{ 0 }-> mark(1) :|: z = 1 encode_mark(z) -{ 0 }-> mark(0) :|: z = 0 encode_mark(z) -{ 0 }-> mark(0) :|: z >= 0 encode_mark(z) -{ 0 }-> 0 :|: z >= 0 encode_minus(z, z') -{ 0 }-> minus(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> s(s(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(minus(encArg(x_11303), encArg(x_2743))) :|: x_2743 >= 0, z = 1 + x_11303 + x_2743, x_11303 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(if(encArg(x_11307), encArg(x_2746), encArg(x_3185))) :|: x_11307 >= 0, x_3185 >= 0, x_2746 >= 0, z = 1 + x_11307 + x_2746 + x_3185 encode_s(z) -{ 0 }-> s(geq(encArg(x_11305), encArg(x_2744))) :|: x_2744 >= 0, z = 1 + x_11305 + x_2744, x_11305 >= 0 encode_s(z) -{ 0 }-> s(div(encArg(x_11306), encArg(x_2745))) :|: x_11306 >= 0, z = 1 + x_11306 + x_2745, x_2745 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(2) :|: z = 2 encode_s(z) -{ 0 }-> s(1) :|: z = 1 encode_s(z) -{ 0 }-> s(0) :|: z = 0 encode_s(z) -{ 0 }-> s(0) :|: z >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: geq(z, z') -{ 1 }-> geq(z, z' - 1) :|: z >= 0, z' - 1 >= 0 geq(z, z') -{ 1 }-> geq(z - 1, z') :|: z - 1 >= 0, z' >= 0 geq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 geq(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 if(z, z', z'') -{ 1 }-> if(z, z', z'' - 1) :|: z >= 0, z'' - 1 >= 0, z' >= 0 if(z, z', z'') -{ 1 }-> if(z, z' - 1, z'') :|: z >= 0, z'' >= 0, z' - 1 >= 0 if(z, z', z'') -{ 1 }-> if(z - 1, z', z'') :|: z - 1 >= 0, z'' >= 0, z' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 1 + z + z' + z'' :|: z >= 0, z' >= 0, z'' >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(minus(X16, X26)))) :|: X16 >= 0, X26 >= 0, z = 1 + (1 + X16 + X26) mark(z) -{ 2 }-> active(s(active(if(mark(X18), X28, X3'')))) :|: X18 >= 0, X28 >= 0, X3'' >= 0, z = 1 + (1 + X18 + X28 + X3'') mark(z) -{ 2 }-> active(s(active(geq(X17, X27)))) :|: z = 1 + (1 + X17 + X27), X17 >= 0, X27 >= 0 mark(z) -{ 2 }-> active(s(active(div(mark(X15), X25)))) :|: z = 1 + (1 + X15 + X25), X15 >= 0, X25 >= 0 mark(z) -{ 2 }-> active(s(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(s(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(s(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(s(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(s(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 2 }-> active(minus(X1, X23)) :|: X1 >= 0, z = 1 + X1 + (1 + X23), X23 >= 0 mark(z) -{ 2 }-> active(minus(X1, X24)) :|: z = 1 + X1 + (1 + X24), X1 >= 0, X24 >= 0 mark(z) -{ 2 }-> active(minus(X13, X2)) :|: z = 1 + (1 + X13) + X2, X2 >= 0, X13 >= 0 mark(z) -{ 2 }-> active(minus(X14, X2)) :|: X2 >= 0, z = 1 + (1 + X14) + X2, X14 >= 0 mark(z) -{ 2 }-> active(if(active(s(mark(X50))), X2, X3)) :|: X50 >= 0, X3 >= 0, X2 >= 0, z = 1 + (1 + X50) + X2 + X3 mark(z) -{ 2 }-> active(if(active(minus(X126, X226)), X2, X3)) :|: z = 1 + (1 + X126 + X226) + X2 + X3, X3 >= 0, X126 >= 0, X226 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(if(mark(X128), X228, X310)), X2, X3)) :|: X128 >= 0, z = 1 + (1 + X128 + X228 + X310) + X2 + X3, X3 >= 0, X310 >= 0, X228 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(geq(X127, X227)), X2, X3)) :|: X227 >= 0, z = 1 + (1 + X127 + X227) + X2 + X3, X3 >= 0, X127 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(div(mark(X125), X225)), X2, X3)) :|: z = 1 + (1 + X125 + X225) + X2 + X3, X125 >= 0, X225 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(2), X2, X3)) :|: z = 1 + 2 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(1), X2, X3)) :|: z = 1 + 1 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(0), X2, X3)) :|: z = 1 + 0 + X2 + X3, X3 >= 0, X2 >= 0 mark(z) -{ 1 }-> active(if(0, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(if(1 + X1, X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(geq(X1, X223)) :|: X1 >= 0, X223 >= 0, z = 1 + X1 + (1 + X223) mark(z) -{ 2 }-> active(geq(X1, X224)) :|: X1 >= 0, X224 >= 0, z = 1 + X1 + (1 + X224) mark(z) -{ 2 }-> active(geq(X123, X2)) :|: z = 1 + (1 + X123) + X2, X123 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(geq(X124, X2)) :|: X124 >= 0, z = 1 + (1 + X124) + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(s(mark(X'))), X2)) :|: X' >= 0, z = 1 + (1 + X') + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(minus(X1'', X2'')), X2)) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2'') + X2, X2'' >= 0, X2 >= 0 mark(z) -{ 2 }-> active(div(active(if(mark(X12), X22, X3')), X2)) :|: X3' >= 0, X12 >= 0, X22 >= 0, z = 1 + (1 + X12 + X22 + X3') + X2, X2 >= 0 mark(z) -{ 2 }-> active(div(active(geq(X11, X21)), X2)) :|: z = 1 + (1 + X11 + X21) + X2, X11 >= 0, X21 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(div(active(div(mark(X1'), X2')), X2)) :|: X2' >= 0, X1' >= 0, X2 >= 0, z = 1 + (1 + X1' + X2') + X2 mark(z) -{ 2 }-> active(div(active(2), z - 3)) :|: z - 3 >= 0 mark(z) -{ 2 }-> active(div(active(1), z - 2)) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(div(active(0), z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(div(0, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(div(1 + X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(2) :|: z = 2 mark(z) -{ 1 }-> active(1) :|: z = 1 mark(z) -{ 1 }-> active(0) :|: z = 0 mark(z) -{ 1 }-> active(0) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(1 + X1 + X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 1 + z :|: z >= 0 minus(z, z') -{ 1 }-> minus(z, z' - 1) :|: z >= 0, z' - 1 >= 0 minus(z, z') -{ 1 }-> minus(z - 1, z') :|: z - 1 >= 0, z' >= 0 minus(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 minus(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 s(z) -{ 1 }-> s(z - 1) :|: z - 1 >= 0 s(z) -{ 0 }-> 0 :|: z >= 0 s(z) -{ 0 }-> 1 + z :|: z >= 0 ---------------------------------------- (31) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_geq(v0, v1) -> null_encode_geq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_div(v0, v1) -> null_encode_div [0] encode_if(v0, v1, v2) -> null_encode_if [0] s(v0) -> null_s [0] active(v0) -> null_active [0] div(v0, v1) -> null_div [0] if(v0, v1, v2) -> null_if [0] geq(v0, v1) -> null_geq [0] minus(v0, v1) -> null_minus [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_minus, null_encode_0, null_encode_mark, null_encode_s, null_encode_geq, null_encode_true, null_encode_false, null_encode_div, null_encode_if, null_s, null_active, null_div, null_if, null_geq, null_minus, 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(true) -> active(true) [1] mark(false) -> active(false) [1] div(c_mark(X1), X2) -> div(X1, X2) [1] mark(c_div(X1, X2)) -> active(div(mark(X1), X2)) [1] geq(X1, c_active(X2)) -> geq(X1, X2) [1] mark(c_minus(X1, X2)) -> active(minus(X1, X2)) [1] minus(X1, c_mark(X2)) -> minus(X1, X2) [1] if(c_mark(X1), X2, X3) -> if(X1, X2, X3) [1] if(X1, c_active(X2), X3) -> if(X1, X2, X3) [1] mark(c_s(X)) -> active(s(mark(X))) [1] active(c_if(true, X, Y)) -> mark(X) [1] active(c_geq(c_s(X), c_s(Y))) -> mark(geq(X, Y)) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_geq(0, c_s(Y))) -> mark(false) [1] active(c_minus(c_s(X), c_s(Y))) -> mark(minus(X, Y)) [1] active(c_geq(X, 0)) -> mark(true) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] active(c_div(c_s(X), c_s(Y))) -> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) [1] div(X1, c_active(X2)) -> div(X1, X2) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] active(c_minus(0, Y)) -> mark(0) [1] div(X1, c_mark(X2)) -> div(X1, X2) [1] geq(c_active(X1), X2) -> geq(X1, X2) [1] mark(c_geq(X1, X2)) -> active(geq(X1, X2)) [1] s(c_mark(X)) -> s(X) [1] div(c_active(X1), X2) -> div(X1, X2) [1] geq(X1, c_mark(X2)) -> geq(X1, X2) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] minus(c_active(X1), X2) -> minus(X1, X2) [1] minus(X1, c_active(X2)) -> minus(X1, X2) [1] active(c_if(false, X, Y)) -> mark(Y) [1] minus(c_mark(X1), X2) -> minus(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] active(c_div(0, c_s(Y))) -> mark(0) [1] geq(c_mark(X1), X2) -> geq(X1, X2) [1] encArg(0) -> 0 [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_active(x_1)) -> active(encArg(x_1)) [0] encArg(cons_mark(x_1)) -> mark(encArg(x_1)) [0] encArg(cons_minus(x_1, x_2)) -> minus(encArg(x_1), encArg(x_2)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_geq(x_1, x_2)) -> geq(encArg(x_1), encArg(x_2)) [0] encArg(cons_div(x_1, x_2)) -> div(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_minus(x_1, x_2) -> minus(encArg(x_1), encArg(x_2)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_geq(x_1, x_2) -> geq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_div(x_1, x_2) -> div(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] div(x0, x1) -> c_div(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] geq(x0, x1) -> c_geq(x0, x1) [0] minus(x0, x1) -> c_minus(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_minus(v0, v1) -> null_encode_minus [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_geq(v0, v1) -> null_encode_geq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_div(v0, v1) -> null_encode_div [0] encode_if(v0, v1, v2) -> null_encode_if [0] s(v0) -> null_s [0] active(v0) -> null_active [0] div(v0, v1) -> null_div [0] if(v0, v1, v2) -> null_if [0] geq(v0, v1) -> null_geq [0] minus(v0, v1) -> null_minus [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark 0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark c_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark cons_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark -> 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encArg :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_0 :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_true :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_false :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_encode_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_s :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_active :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_div :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_if :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_geq :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_minus :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus:null_mark null_mark :: 0:true:false:c_mark:c_div:c_active:c_minus:c_s:c_if:c_geq:cons_active:cons_mark:cons_minus:cons_s:cons_geq:cons_div:cons_if:null_encArg:null_encode_active:null_encode_minus:null_encode_0:null_encode_mark:null_encode_s:null_encode_geq:null_encode_true:null_encode_false:null_encode_div:null_encode_if:null_s:null_active:null_div:null_if:null_geq:null_minus: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 true => 2 false => 1 null_encArg => 0 null_encode_active => 0 null_encode_minus => 0 null_encode_0 => 0 null_encode_mark => 0 null_encode_s => 0 null_encode_geq => 0 null_encode_true => 0 null_encode_false => 0 null_encode_div => 0 null_encode_if => 0 null_s => 0 null_active => 0 null_div => 0 null_if => 0 null_geq => 0 null_minus => 0 null_mark => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: Y >= 0, X >= 0, z = 1 + 2 + X + Y active(z) -{ 1 }-> mark(Y) :|: Y >= 0, z = 1 + 1 + X + Y, X >= 0 active(z) -{ 1 }-> mark(minus(X, Y)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(geq(X, Y)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(2) :|: z = 1 + X + 0, X >= 0 active(z) -{ 1 }-> mark(1) :|: Y >= 0, z = 1 + 0 + (1 + Y) active(z) -{ 1 }-> mark(0) :|: Y >= 0, z = 1 + 0 + Y active(z) -{ 1 }-> mark(0) :|: Y >= 0, z = 1 + 0 + (1 + Y) active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 div(z, z') -{ 1 }-> div(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 div(z, z') -{ 1 }-> div(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 div(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 div(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> s(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> mark(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> geq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> div(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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_0 -{ 0 }-> 0 :|: encode_active(z) -{ 0 }-> active(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_div(z, z') -{ 0 }-> div(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_div(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_geq(z, z') -{ 0 }-> geq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_geq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_mark(z) -{ 0 }-> mark(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_minus(z, z') -{ 0 }-> minus(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_s(z) -{ 0 }-> s(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: geq(z, z') -{ 1 }-> geq(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 geq(z, z') -{ 1 }-> geq(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 geq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 geq(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, z = 1 + X1, X3 >= 0, X2 >= 0, z' = X2, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, z' = 1 + X2, X2 >= 0, z = X1, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = 1 + X3 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 0 }-> 1 + x0 + x1 + x2 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z'' = x2, x2 >= 0 mark(z) -{ 1 }-> active(s(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(minus(X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(if(mark(X1), X2, X3)) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> active(geq(X1, X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(div(mark(X1), X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> active(2) :|: z = 2 mark(z) -{ 1 }-> active(1) :|: z = 1 mark(z) -{ 1 }-> active(0) :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 minus(z, z') -{ 1 }-> minus(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 minus(z, z') -{ 1 }-> minus(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 minus(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 minus(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 s(z) -{ 1 }-> s(X) :|: z = 1 + X, X >= 0 s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 s(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(0) -> c ENCARG(true) -> c1 ENCARG(false) -> c2 ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c11(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_0 -> c12 ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c15(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TRUE -> c16 ENCODE_FALSE -> c17 ENCODE_DIV(z0, z1) -> c18(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c19(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), IF(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0), GEQ(z0, z1), S(div(minus(z0, z1), s(z1))), DIV(minus(z0, z1), s(z1)), MINUS(z0, z1), S(z1)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(0) -> c30(ACTIVE(0)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(true) -> c33(ACTIVE(true)) MARK(false) -> c34(ACTIVE(false)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), IF(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0), GEQ(z0, z1), S(div(minus(z0, z1), s(z1))), DIV(minus(z0, z1), s(z1)), MINUS(z0, z1), S(z1)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(0) -> c30(ACTIVE(0)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(true) -> c33(ACTIVE(true)) MARK(false) -> c34(ACTIVE(false)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) K tuples:none Defined Rule Symbols: active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3, encArg_1, encode_active_1, encode_minus_2, encode_0, encode_mark_1, encode_s_1, encode_geq_2, encode_true, encode_false, encode_div_2, encode_if_3 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_0, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_TRUE, ENCODE_FALSE, ENCODE_DIV_2, ENCODE_IF_3, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3 Compound Symbols: c, c1, c2, c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c10_2, c11_3, c12, c13_2, c14_2, c15_3, c16, c17, c18_3, c19_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c26_7, c27_1, c28_1, c29_2, c30_1, c31_3, c32_2, c33_1, c34_1, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: ENCARG(false) -> c2 ENCODE_FALSE -> c17 ENCODE_0 -> c12 ENCARG(0) -> c ENCARG(true) -> c1 ENCODE_TRUE -> c16 ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c11(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c15(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DIV(z0, z1) -> c18(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c19(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), IF(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0), GEQ(z0, z1), S(div(minus(z0, z1), s(z1))), DIV(minus(z0, z1), s(z1)), MINUS(z0, z1), S(z1)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(0) -> c30(ACTIVE(0)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(true) -> c33(ACTIVE(true)) MARK(false) -> c34(ACTIVE(false)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), IF(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0), GEQ(z0, z1), S(div(minus(z0, z1), s(z1))), DIV(minus(z0, z1), s(z1)), MINUS(z0, z1), S(z1)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(0) -> c30(ACTIVE(0)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(true) -> c33(ACTIVE(true)) MARK(false) -> c34(ACTIVE(false)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) K tuples:none Defined Rule Symbols: active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3, encArg_1, encode_active_1, encode_minus_2, encode_0, encode_mark_1, encode_s_1, encode_geq_2, encode_true, encode_false, encode_div_2, encode_if_3 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c10_2, c11_3, c13_2, c14_2, c15_3, c18_3, c19_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c26_7, c27_1, c28_1, c29_2, c30_1, c31_3, c32_2, c33_1, c34_1, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c11(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c15(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_DIV(z0, z1) -> c18(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c19(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3, encArg_1, encode_active_1, encode_minus_2, encode_0, encode_mark_1, encode_s_1, encode_geq_2, encode_true, encode_false, encode_div_2, encode_if_3 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c10_2, c11_3, c13_2, c14_2, c15_3, c18_3, c19_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34 ---------------------------------------- (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(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MINUS(z0, z1) -> c(ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_GEQ(z0, z1) -> c(ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c(ENCARG(z1)) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(ENCARG(z0)) ENCODE_DIV(z0, z1) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3, encArg_1, encode_active_1, encode_minus_2, encode_0, encode_mark_1, encode_s_1, encode_geq_2, encode_true, encode_false, encode_div_2, encode_if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 12 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c(ENCARG(z0)) ENCODE_MINUS(z0, z1) -> c(ENCARG(z1)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c(ENCARG(z0)) ENCODE_GEQ(z0, z1) -> c(ENCARG(z1)) ENCODE_DIV(z0, z1) -> c(ENCARG(z0)) ENCODE_DIV(z0, z1) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z0)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c(ENCARG(z2)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3, encArg_1, encode_active_1, encode_minus_2, encode_0, encode_mark_1, encode_s_1, encode_geq_2, encode_true, encode_false, encode_div_2, encode_if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_minus(z0, z1) -> minus(encArg(z0), encArg(z1)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_geq(z0, z1) -> geq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_div(z0, z1) -> div(encArg(z0), encArg(z1)) encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c3_2, c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1 ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) by ENCARG(cons_active(0)) -> c3(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(true)) -> c3(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(false)) -> c3(ACTIVE(false), ENCARG(false)) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(0)) -> c3(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(true)) -> c3(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(false)) -> c3(ACTIVE(false), ENCARG(false)) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2 ---------------------------------------- (49) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(false)) -> c3(ACTIVE(false), ENCARG(false)) ENCARG(cons_active(true)) -> c3(ACTIVE(true), ENCARG(true)) ENCARG(cons_active(0)) -> c3(ACTIVE(0), ENCARG(0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c4_2, c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) by ENCARG(cons_mark(0)) -> c4(MARK(0), ENCARG(0)) ENCARG(cons_mark(true)) -> c4(MARK(true), ENCARG(true)) ENCARG(cons_mark(false)) -> c4(MARK(false), ENCARG(false)) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0), ENCARG(0)) ENCARG(cons_mark(true)) -> c4(MARK(true), ENCARG(true)) ENCARG(cons_mark(false)) -> c4(MARK(false), ENCARG(false)) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c5_3, c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(z0, z1)) -> c5(MINUS(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c6_2, c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2 ---------------------------------------- (59) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) by ENCARG(cons_s(0)) -> c6(S(0), ENCARG(0)) ENCARG(cons_s(true)) -> c6(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c6(S(false), ENCARG(false)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(0)) -> c6(S(0), ENCARG(0)) ENCARG(cons_s(true)) -> c6(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c6(S(false), ENCARG(false)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2 ---------------------------------------- (61) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_s(0)) -> c6(S(0), ENCARG(0)) ENCARG(cons_s(true)) -> c6(S(true), ENCARG(true)) ENCARG(cons_s(false)) -> c6(S(false), ENCARG(false)) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c7_3, c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_geq(z0, z1)) -> c7(GEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3 ---------------------------------------- (65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c8_3, c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_div(z0, z1)) -> c8(DIV(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3 ---------------------------------------- (69) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c9_4, c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2 ---------------------------------------- (71) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_if(z0, z1, z2)) -> c9(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) by ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing tuple parts ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c31_3, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c31(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c31(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(z0)) -> c31(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(z0)) -> c31(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c35_3, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(div(z0, z1)) -> c35(ACTIVE(div(mark(z0), z1)), DIV(mark(z0), z1), MARK(z0)) by MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c36_3, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) by MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (83) 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(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (85) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (87) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_MINUS(z0, z1) -> c(MINUS(encArg(z0), encArg(z1))) by ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (89) 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(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (91) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 3 leading nodes: ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (93) 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(true) -> c(S(true)) ENCODE_S(false) -> c(S(false)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(0) -> c(S(0)) ENCODE_S(true) -> c(S(true)) ENCODE_S(false) -> c(S(false)) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (95) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_S(false) -> c(S(false)) ENCODE_S(true) -> c(S(true)) ENCODE_S(0) -> c(S(0)) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (97) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_GEQ(z0, z1) -> c(GEQ(encArg(z0), encArg(z1))) by ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_DIV_2, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_DIV(z0, z1) -> c(DIV(encArg(z0), encArg(z1))) by ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCODE_IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c_1, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) by ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_active(z0))) -> c3(ACTIVE(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_active(cons_active(0))) -> c3(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(true))) -> c3(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(false))) -> c3(ACTIVE(active(false)), ENCARG(cons_active(false))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(0))) -> c3(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(true))) -> c3(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(false))) -> c3(ACTIVE(active(false)), ENCARG(cons_active(false))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1 ---------------------------------------- (105) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(cons_active(true))) -> c3(ACTIVE(active(true)), ENCARG(cons_active(true))) ENCARG(cons_active(cons_active(0))) -> c3(ACTIVE(active(0)), ENCARG(cons_active(0))) ENCARG(cons_active(cons_active(false))) -> c3(ACTIVE(active(false)), ENCARG(cons_active(false))) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) by ENCARG(cons_active(cons_mark(0))) -> c3(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(true))) -> c3(ACTIVE(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c3(ACTIVE(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(0))) -> c3(ACTIVE(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(true))) -> c3(ACTIVE(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c3(ACTIVE(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1 ---------------------------------------- (109) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_minus(z0, z1))) -> c3(ACTIVE(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) by ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) by ENCARG(cons_active(cons_s(0))) -> c3(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(true))) -> c3(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(false))) -> c3(ACTIVE(s(false)), ENCARG(cons_s(false))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(0))) -> c3(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(true))) -> c3(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(false))) -> c3(ACTIVE(s(false)), ENCARG(cons_s(false))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (115) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(cons_s(true))) -> c3(ACTIVE(s(true)), ENCARG(cons_s(true))) ENCARG(cons_active(cons_s(0))) -> c3(ACTIVE(s(0)), ENCARG(cons_s(0))) ENCARG(cons_active(cons_s(false))) -> c3(ACTIVE(s(false)), ENCARG(cons_s(false))) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_geq(z0, z1))) -> c3(ACTIVE(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) by ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_div(z0, z1))) -> c3(ACTIVE(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) by ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c3_2, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c1_1 ---------------------------------------- (121) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_if(z0, z1, z2))) -> c3(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(cons_active(z0))) -> c4(MARK(active(encArg(z0))), ENCARG(cons_active(z0))) by ENCARG(cons_mark(cons_active(0))) -> c4(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(true))) -> c4(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(false))) -> c4(MARK(active(false)), ENCARG(cons_active(false))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(0))) -> c4(MARK(active(0)), ENCARG(cons_active(0))) ENCARG(cons_mark(cons_active(true))) -> c4(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(false))) -> c4(MARK(active(false)), ENCARG(cons_active(false))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1 ---------------------------------------- (125) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_mark(cons_active(false))) -> c4(MARK(active(false)), ENCARG(cons_active(false))) ENCARG(cons_mark(cons_active(true))) -> c4(MARK(active(true)), ENCARG(cons_active(true))) ENCARG(cons_mark(cons_active(0))) -> c4(MARK(active(0)), ENCARG(cons_active(0))) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) by ENCARG(cons_mark(cons_mark(0))) -> c4(MARK(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c4(MARK(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c4(MARK(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c4(MARK(mark(0)), ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c4(MARK(mark(true)), ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c4(MARK(mark(false)), ENCARG(cons_mark(false))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1 ---------------------------------------- (129) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (131) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(x0, cons_minus(z0, z1))) -> c5(MINUS(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) by ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (133) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (135) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(x0, cons_s(z0))) -> c5(MINUS(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) by ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0), ENCARG(cons_s(true))) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0), ENCARG(cons_s(false))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(true), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(false), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0), ENCARG(cons_s(true))) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0), ENCARG(cons_s(false))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(true), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(false), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (137) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(x0, cons_geq(z0, z1))) -> c5(MINUS(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) by ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (141) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(x0, cons_div(z0, z1))) -> c5(MINUS(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) by ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(0), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(true), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(false), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (145) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(x0, cons_if(z0, z1, z2))) -> c5(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(0), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(true), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(false), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(0), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(true), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(false), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (149) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(cons_minus(z0, z1), x1)) -> c5(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) by ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_minus(z0, z1))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(cons_minus(x0, x1), cons_s(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_s(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_geq(z0, z1))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), geq(encArg(z0), encArg(z1))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(cons_minus(x0, x1), cons_div(z0, z1))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), div(encArg(z0), encArg(z1))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(cons_minus(x0, x1), cons_if(z0, z1, z2))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (153) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (155) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(cons_s(z0), x1)) -> c5(MINUS(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) by ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0)), ENCARG(0)) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0)), ENCARG(true)) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0)), ENCARG(false)) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(x0), cons_minus(z0, z1))) -> c5(MINUS(s(encArg(x0)), minus(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(cons_s(x0), cons_s(z0))) -> c5(MINUS(s(encArg(x0)), s(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_s(z0))) ENCARG(cons_minus(cons_s(x0), cons_geq(z0, z1))) -> c5(MINUS(s(encArg(x0)), geq(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(cons_s(x0), cons_div(z0, z1))) -> c5(MINUS(s(encArg(x0)), div(encArg(z0), encArg(z1))), ENCARG(cons_s(x0)), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(cons_s(x0), cons_if(z0, z1, z2))) -> c5(MINUS(s(encArg(x0)), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_s(x0)), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(cons_s(0)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(cons_s(true)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(cons_s(false)), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ---------------------------------------- (156) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0)), ENCARG(0)) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0)), ENCARG(true)) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0)), ENCARG(false)) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(cons_s(0)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(cons_s(true)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(cons_s(false)), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (157) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (158) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (159) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(cons_geq(z0, z1), x1)) -> c5(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) by ENCARG(cons_minus(cons_geq(x0, x1), 0)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), 0), ENCARG(cons_geq(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_geq(x0, x1), true)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), true), ENCARG(cons_geq(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_geq(x0, x1), false)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), false), ENCARG(cons_geq(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_geq(x0, x1), cons_active(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_mark(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_minus(z0, z1))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), minus(encArg(z0), encArg(z1))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(cons_geq(x0, x1), cons_s(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_s(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_geq(z0, z1))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(cons_geq(x0, x1), cons_div(z0, z1))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), div(encArg(z0), encArg(z1))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(cons_geq(x0, x1), cons_if(z0, z1, z2))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_geq(x0, 0), x2)) -> c5(MINUS(geq(encArg(x0), 0), encArg(x2)), ENCARG(cons_geq(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, true), x2)) -> c5(MINUS(geq(encArg(x0), true), encArg(x2)), ENCARG(cons_geq(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, false), x2)) -> c5(MINUS(geq(encArg(x0), false), encArg(x2)), ENCARG(cons_geq(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_active(z0)), x2)) -> c5(MINUS(geq(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_mark(z0)), x2)) -> c5(MINUS(geq(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_s(z0)), x2)) -> c5(MINUS(geq(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_geq(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(0, x1), x2)) -> c5(MINUS(geq(0, encArg(x1)), encArg(x2)), ENCARG(cons_geq(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(true, x1), x2)) -> c5(MINUS(geq(true, encArg(x1)), encArg(x2)), ENCARG(cons_geq(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(false, x1), x2)) -> c5(MINUS(geq(false, encArg(x1)), encArg(x2)), ENCARG(cons_geq(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_active(z0), x1), x2)) -> c5(MINUS(geq(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_mark(z0), x1), x2)) -> c5(MINUS(geq(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(geq(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_s(z0), x1), x2)) -> c5(MINUS(geq(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(geq(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_div(z0, z1), x1), x2)) -> c5(MINUS(geq(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ---------------------------------------- (160) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(x0, x1), 0)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), 0), ENCARG(cons_geq(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_geq(x0, x1), true)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), true), ENCARG(cons_geq(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_geq(x0, x1), false)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), false), ENCARG(cons_geq(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_geq(x0, x1), cons_active(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_mark(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_geq(x0, 0), x2)) -> c5(MINUS(geq(encArg(x0), 0), encArg(x2)), ENCARG(cons_geq(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, true), x2)) -> c5(MINUS(geq(encArg(x0), true), encArg(x2)), ENCARG(cons_geq(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, false), x2)) -> c5(MINUS(geq(encArg(x0), false), encArg(x2)), ENCARG(cons_geq(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_active(z0)), x2)) -> c5(MINUS(geq(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_mark(z0)), x2)) -> c5(MINUS(geq(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_s(z0)), x2)) -> c5(MINUS(geq(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_geq(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(0, x1), x2)) -> c5(MINUS(geq(0, encArg(x1)), encArg(x2)), ENCARG(cons_geq(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(true, x1), x2)) -> c5(MINUS(geq(true, encArg(x1)), encArg(x2)), ENCARG(cons_geq(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(false, x1), x2)) -> c5(MINUS(geq(false, encArg(x1)), encArg(x2)), ENCARG(cons_geq(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_active(z0), x1), x2)) -> c5(MINUS(geq(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_mark(z0), x1), x2)) -> c5(MINUS(geq(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(geq(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_s(z0), x1), x2)) -> c5(MINUS(geq(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(geq(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_div(z0, z1), x1), x2)) -> c5(MINUS(geq(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_if(z0, z1, z2), x1)), ENCARG(x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (161) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (162) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(x0, x1), cons_active(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_mark(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_geq(x0, 0), x2)) -> c5(MINUS(geq(encArg(x0), 0), encArg(x2)), ENCARG(cons_geq(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, true), x2)) -> c5(MINUS(geq(encArg(x0), true), encArg(x2)), ENCARG(cons_geq(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, false), x2)) -> c5(MINUS(geq(encArg(x0), false), encArg(x2)), ENCARG(cons_geq(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_active(z0)), x2)) -> c5(MINUS(geq(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_mark(z0)), x2)) -> c5(MINUS(geq(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_s(z0)), x2)) -> c5(MINUS(geq(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_geq(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(0, x1), x2)) -> c5(MINUS(geq(0, encArg(x1)), encArg(x2)), ENCARG(cons_geq(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(true, x1), x2)) -> c5(MINUS(geq(true, encArg(x1)), encArg(x2)), ENCARG(cons_geq(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(false, x1), x2)) -> c5(MINUS(geq(false, encArg(x1)), encArg(x2)), ENCARG(cons_geq(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_active(z0), x1), x2)) -> c5(MINUS(geq(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_mark(z0), x1), x2)) -> c5(MINUS(geq(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(geq(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_s(z0), x1), x2)) -> c5(MINUS(geq(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(geq(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_div(z0, z1), x1), x2)) -> c5(MINUS(geq(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, x1), 0)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), 0), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), true)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), true), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), false)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), false), ENCARG(cons_geq(x0, x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_minus(cons_div(z0, z1), x1)) -> c5(MINUS(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) by ENCARG(cons_minus(cons_div(x0, x1), 0)) -> c5(MINUS(div(encArg(x0), encArg(x1)), 0), ENCARG(cons_div(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_div(x0, x1), true)) -> c5(MINUS(div(encArg(x0), encArg(x1)), true), ENCARG(cons_div(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_div(x0, x1), false)) -> c5(MINUS(div(encArg(x0), encArg(x1)), false), ENCARG(cons_div(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_div(x0, x1), cons_active(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_div(x0, x1), cons_mark(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_div(x0, x1), cons_minus(z0, z1))) -> c5(MINUS(div(encArg(x0), encArg(x1)), minus(encArg(z0), encArg(z1))), ENCARG(cons_div(x0, x1)), ENCARG(cons_minus(z0, z1))) ENCARG(cons_minus(cons_div(x0, x1), cons_s(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), s(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_s(z0))) ENCARG(cons_minus(cons_div(x0, x1), cons_geq(z0, z1))) -> c5(MINUS(div(encArg(x0), encArg(x1)), geq(encArg(z0), encArg(z1))), ENCARG(cons_div(x0, x1)), ENCARG(cons_geq(z0, z1))) ENCARG(cons_minus(cons_div(x0, x1), cons_div(z0, z1))) -> c5(MINUS(div(encArg(x0), encArg(x1)), div(encArg(z0), encArg(z1))), ENCARG(cons_div(x0, x1)), ENCARG(cons_div(z0, z1))) ENCARG(cons_minus(cons_div(x0, x1), cons_if(z0, z1, z2))) -> c5(MINUS(div(encArg(x0), encArg(x1)), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_div(x0, x1)), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_minus(cons_div(x0, 0), x2)) -> c5(MINUS(div(encArg(x0), 0), encArg(x2)), ENCARG(cons_div(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, true), x2)) -> c5(MINUS(div(encArg(x0), true), encArg(x2)), ENCARG(cons_div(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, false), x2)) -> c5(MINUS(div(encArg(x0), false), encArg(x2)), ENCARG(cons_div(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_active(z0)), x2)) -> c5(MINUS(div(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_mark(z0)), x2)) -> c5(MINUS(div(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_s(z0)), x2)) -> c5(MINUS(div(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_div(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_div(0, x1), x2)) -> c5(MINUS(div(0, encArg(x1)), encArg(x2)), ENCARG(cons_div(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(true, x1), x2)) -> c5(MINUS(div(true, encArg(x1)), encArg(x2)), ENCARG(cons_div(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(false, x1), x2)) -> c5(MINUS(div(false, encArg(x1)), encArg(x2)), ENCARG(cons_div(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_active(z0), x1), x2)) -> c5(MINUS(div(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_mark(z0), x1), x2)) -> c5(MINUS(div(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(div(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_s(z0), x1), x2)) -> c5(MINUS(div(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(div(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_div(z0, z1), x1), x2)) -> c5(MINUS(div(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ---------------------------------------- (164) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(x0, x1), cons_active(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_mark(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_geq(x0, 0), x2)) -> c5(MINUS(geq(encArg(x0), 0), encArg(x2)), ENCARG(cons_geq(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, true), x2)) -> c5(MINUS(geq(encArg(x0), true), encArg(x2)), ENCARG(cons_geq(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, false), x2)) -> c5(MINUS(geq(encArg(x0), false), encArg(x2)), ENCARG(cons_geq(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_active(z0)), x2)) -> c5(MINUS(geq(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_mark(z0)), x2)) -> c5(MINUS(geq(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_s(z0)), x2)) -> c5(MINUS(geq(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_geq(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(0, x1), x2)) -> c5(MINUS(geq(0, encArg(x1)), encArg(x2)), ENCARG(cons_geq(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(true, x1), x2)) -> c5(MINUS(geq(true, encArg(x1)), encArg(x2)), ENCARG(cons_geq(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(false, x1), x2)) -> c5(MINUS(geq(false, encArg(x1)), encArg(x2)), ENCARG(cons_geq(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_active(z0), x1), x2)) -> c5(MINUS(geq(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_mark(z0), x1), x2)) -> c5(MINUS(geq(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(geq(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_s(z0), x1), x2)) -> c5(MINUS(geq(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(geq(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_div(z0, z1), x1), x2)) -> c5(MINUS(geq(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, x1), 0)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), 0), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), true)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), true), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), false)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), false), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_div(x0, x1), 0)) -> c5(MINUS(div(encArg(x0), encArg(x1)), 0), ENCARG(cons_div(x0, x1)), ENCARG(0)) ENCARG(cons_minus(cons_div(x0, x1), true)) -> c5(MINUS(div(encArg(x0), encArg(x1)), true), ENCARG(cons_div(x0, x1)), ENCARG(true)) ENCARG(cons_minus(cons_div(x0, x1), false)) -> c5(MINUS(div(encArg(x0), encArg(x1)), false), ENCARG(cons_div(x0, x1)), ENCARG(false)) ENCARG(cons_minus(cons_div(x0, x1), cons_active(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_div(x0, x1), cons_mark(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_div(x0, 0), x2)) -> c5(MINUS(div(encArg(x0), 0), encArg(x2)), ENCARG(cons_div(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, true), x2)) -> c5(MINUS(div(encArg(x0), true), encArg(x2)), ENCARG(cons_div(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, false), x2)) -> c5(MINUS(div(encArg(x0), false), encArg(x2)), ENCARG(cons_div(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_active(z0)), x2)) -> c5(MINUS(div(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_mark(z0)), x2)) -> c5(MINUS(div(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_s(z0)), x2)) -> c5(MINUS(div(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_div(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_div(0, x1), x2)) -> c5(MINUS(div(0, encArg(x1)), encArg(x2)), ENCARG(cons_div(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(true, x1), x2)) -> c5(MINUS(div(true, encArg(x1)), encArg(x2)), ENCARG(cons_div(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(false, x1), x2)) -> c5(MINUS(div(false, encArg(x1)), encArg(x2)), ENCARG(cons_div(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_active(z0), x1), x2)) -> c5(MINUS(div(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_mark(z0), x1), x2)) -> c5(MINUS(div(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(div(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_s(z0), x1), x2)) -> c5(MINUS(div(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(div(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_div(z0, z1), x1), x2)) -> c5(MINUS(div(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_if(z0, z1, z2), x1)), ENCARG(x2)) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1 ---------------------------------------- (165) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (166) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_minus(z0, z1)) -> minus(encArg(z0), encArg(z1)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_geq(z0, z1)) -> geq(encArg(z0), encArg(z1)) encArg(cons_div(z0, z1)) -> div(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) active(minus(0, z0)) -> mark(0) active(minus(s(z0), s(z1))) -> mark(minus(z0, z1)) active(geq(z0, 0)) -> mark(true) active(geq(0, s(z0))) -> mark(false) active(geq(s(z0), s(z1))) -> mark(geq(z0, z1)) active(div(0, s(z0))) -> mark(0) active(div(s(z0), s(z1))) -> mark(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) mark(minus(z0, z1)) -> active(minus(z0, z1)) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(geq(z0, z1)) -> active(geq(z0, z1)) mark(true) -> active(true) mark(false) -> active(false) mark(div(z0, z1)) -> active(div(mark(z0), z1)) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) minus(mark(z0), z1) -> minus(z0, z1) minus(z0, mark(z1)) -> minus(z0, z1) minus(active(z0), z1) -> minus(z0, z1) minus(z0, active(z1)) -> minus(z0, z1) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) geq(mark(z0), z1) -> geq(z0, z1) geq(z0, mark(z1)) -> geq(z0, z1) geq(active(z0), z1) -> geq(z0, z1) geq(z0, active(z1)) -> geq(z0, z1) div(mark(z0), z1) -> div(z0, z1) div(z0, mark(z1)) -> div(z0, z1) div(active(z0), z1) -> div(z0, z1) div(z0, active(z1)) -> div(z0, z1) if(mark(z0), z1, z2) -> if(z0, z1, z2) if(z0, mark(z1), z2) -> if(z0, z1, z2) if(z0, z1, mark(z2)) -> if(z0, z1, z2) if(active(z0), z1, z2) -> if(z0, z1, z2) if(z0, active(z1), z2) -> if(z0, z1, z2) if(z0, z1, active(z2)) -> if(z0, z1, z2) Tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 ENCARG(cons_mark(cons_minus(z0, z1))) -> c4(MARK(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_geq(z0, z1))) -> c4(MARK(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_mark(cons_div(z0, z1))) -> c4(MARK(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_mark(cons_if(z0, z1, z2))) -> c4(MARK(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_minus(x0, cons_active(z0))) -> c5(MINUS(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_minus(x0, cons_mark(z0))) -> c5(MINUS(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_active(z0), x1)) -> c5(MINUS(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_mark(z0), x1)) -> c5(MINUS(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_minus(cons_if(z0, z1, z2), x1)) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_minus(x0, 0)) -> c5(MINUS(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_minus(x0, true)) -> c5(MINUS(encArg(x0), true), ENCARG(x0)) ENCARG(cons_minus(x0, false)) -> c5(MINUS(encArg(x0), false), ENCARG(x0)) ENCARG(cons_minus(0, x1)) -> c5(MINUS(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(true, x1)) -> c5(MINUS(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(false, x1)) -> c5(MINUS(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_s(cons_active(z0))) -> c6(S(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_s(cons_mark(z0))) -> c6(S(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_s(cons_minus(z0, z1))) -> c6(S(minus(encArg(z0), encArg(z1))), ENCARG(cons_minus(z0, z1))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_geq(z0, z1))) -> c6(S(geq(encArg(z0), encArg(z1))), ENCARG(cons_geq(z0, z1))) ENCARG(cons_s(cons_div(z0, z1))) -> c6(S(div(encArg(z0), encArg(z1))), ENCARG(cons_div(z0, z1))) ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(x0, cons_active(z0))) -> c7(GEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_geq(x0, cons_mark(z0))) -> c7(GEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_geq(x0, cons_minus(z0, z1))) -> c7(GEQ(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_geq(x0, cons_s(z0))) -> c7(GEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_geq(x0, cons_geq(z0, z1))) -> c7(GEQ(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_geq(x0, cons_div(z0, z1))) -> c7(GEQ(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_geq(x0, cons_if(z0, z1, z2))) -> c7(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_geq(cons_active(z0), x1)) -> c7(GEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_mark(z0), x1)) -> c7(GEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_minus(z0, z1), x1)) -> c7(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_s(z0), x1)) -> c7(GEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_geq(cons_geq(z0, z1), x1)) -> c7(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_div(z0, z1), x1)) -> c7(GEQ(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_geq(cons_if(z0, z1, z2), x1)) -> c7(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_geq(x0, 0)) -> c7(GEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_geq(x0, true)) -> c7(GEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_geq(x0, false)) -> c7(GEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_geq(0, x1)) -> c7(GEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(true, x1)) -> c7(GEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_geq(false, x1)) -> c7(GEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(x0, cons_active(z0))) -> c8(DIV(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_div(x0, cons_mark(z0))) -> c8(DIV(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_div(x0, cons_minus(z0, z1))) -> c8(DIV(encArg(x0), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_minus(z0, z1))) ENCARG(cons_div(x0, cons_s(z0))) -> c8(DIV(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_div(x0, cons_geq(z0, z1))) -> c8(DIV(encArg(x0), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_geq(z0, z1))) ENCARG(cons_div(x0, cons_div(z0, z1))) -> c8(DIV(encArg(x0), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_div(z0, z1))) ENCARG(cons_div(x0, cons_if(z0, z1, z2))) -> c8(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_div(cons_active(z0), x1)) -> c8(DIV(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_div(cons_mark(z0), x1)) -> c8(DIV(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_div(cons_minus(z0, z1), x1)) -> c8(DIV(minus(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_minus(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_s(z0), x1)) -> c8(DIV(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_div(cons_geq(z0, z1), x1)) -> c8(DIV(geq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_geq(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_div(z0, z1), x1)) -> c8(DIV(div(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_div(z0, z1)), ENCARG(x1)) ENCARG(cons_div(cons_if(z0, z1, z2), x1)) -> c8(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_div(x0, 0)) -> c8(DIV(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_div(x0, true)) -> c8(DIV(encArg(x0), true), ENCARG(x0)) ENCARG(cons_div(x0, false)) -> c8(DIV(encArg(x0), false), ENCARG(x0)) ENCARG(cons_div(0, x1)) -> c8(DIV(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(true, x1)) -> c8(DIV(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_div(false, x1)) -> c8(DIV(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c9(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c9(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_minus(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_minus(z0, z1))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c9(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_geq(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_geq(z0, z1))) ENCARG(cons_if(x0, x1, cons_div(z0, z1))) -> c9(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_div(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c9(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c9(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c9(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_minus(z0, z1), x2)) -> c9(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_minus(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c9(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_geq(z0, z1), x2)) -> c9(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_geq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_div(z0, z1), x2)) -> c9(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_div(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c9(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c9(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c9(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_minus(z0, z1), x1, x2)) -> c9(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_minus(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c9(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_geq(z0, z1), x1, x2)) -> c9(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_geq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_div(z0, z1), x1, x2)) -> c9(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_div(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c9(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c9(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c9(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c9(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c9(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c9(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c9(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c9(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c9(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c9(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_minus(z0, z1)) -> c(ACTIVE(minus(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_geq(z0, z1)) -> c(ACTIVE(geq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_div(z0, z1)) -> c(ACTIVE(div(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(x0, 0) -> c(MINUS(encArg(x0), 0)) ENCODE_MINUS(x0, true) -> c(MINUS(encArg(x0), true)) ENCODE_MINUS(x0, false) -> c(MINUS(encArg(x0), false)) ENCODE_MINUS(x0, cons_active(z0)) -> c(MINUS(encArg(x0), active(encArg(z0)))) ENCODE_MINUS(x0, cons_mark(z0)) -> c(MINUS(encArg(x0), mark(encArg(z0)))) ENCODE_MINUS(x0, cons_minus(z0, z1)) -> c(MINUS(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_s(z0)) -> c(MINUS(encArg(x0), s(encArg(z0)))) ENCODE_MINUS(x0, cons_geq(z0, z1)) -> c(MINUS(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_div(z0, z1)) -> c(MINUS(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_MINUS(x0, cons_if(z0, z1, z2)) -> c(MINUS(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MINUS(0, x1) -> c(MINUS(0, encArg(x1))) ENCODE_MINUS(true, x1) -> c(MINUS(true, encArg(x1))) ENCODE_MINUS(false, x1) -> c(MINUS(false, encArg(x1))) ENCODE_MINUS(cons_active(z0), x1) -> c(MINUS(active(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_mark(z0), x1) -> c(MINUS(mark(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_minus(z0, z1), x1) -> c(MINUS(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_s(z0), x1) -> c(MINUS(s(encArg(z0)), encArg(x1))) ENCODE_MINUS(cons_geq(z0, z1), x1) -> c(MINUS(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_div(z0, z1), x1) -> c(MINUS(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_MINUS(cons_if(z0, z1, z2), x1) -> c(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_minus(z0, z1)) -> c(MARK(minus(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_geq(z0, z1)) -> c(MARK(geq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_div(z0, z1)) -> c(MARK(div(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_minus(z0, z1)) -> c(S(minus(encArg(z0), encArg(z1)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_geq(z0, z1)) -> c(S(geq(encArg(z0), encArg(z1)))) ENCODE_S(cons_div(z0, z1)) -> c(S(div(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(x0, 0) -> c(GEQ(encArg(x0), 0)) ENCODE_GEQ(x0, true) -> c(GEQ(encArg(x0), true)) ENCODE_GEQ(x0, false) -> c(GEQ(encArg(x0), false)) ENCODE_GEQ(x0, cons_active(z0)) -> c(GEQ(encArg(x0), active(encArg(z0)))) ENCODE_GEQ(x0, cons_mark(z0)) -> c(GEQ(encArg(x0), mark(encArg(z0)))) ENCODE_GEQ(x0, cons_minus(z0, z1)) -> c(GEQ(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_s(z0)) -> c(GEQ(encArg(x0), s(encArg(z0)))) ENCODE_GEQ(x0, cons_geq(z0, z1)) -> c(GEQ(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_div(z0, z1)) -> c(GEQ(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_GEQ(x0, cons_if(z0, z1, z2)) -> c(GEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_GEQ(0, x1) -> c(GEQ(0, encArg(x1))) ENCODE_GEQ(true, x1) -> c(GEQ(true, encArg(x1))) ENCODE_GEQ(false, x1) -> c(GEQ(false, encArg(x1))) ENCODE_GEQ(cons_active(z0), x1) -> c(GEQ(active(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_mark(z0), x1) -> c(GEQ(mark(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_minus(z0, z1), x1) -> c(GEQ(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_s(z0), x1) -> c(GEQ(s(encArg(z0)), encArg(x1))) ENCODE_GEQ(cons_geq(z0, z1), x1) -> c(GEQ(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_div(z0, z1), x1) -> c(GEQ(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_GEQ(cons_if(z0, z1, z2), x1) -> c(GEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIV(x0, 0) -> c(DIV(encArg(x0), 0)) ENCODE_DIV(x0, true) -> c(DIV(encArg(x0), true)) ENCODE_DIV(x0, false) -> c(DIV(encArg(x0), false)) ENCODE_DIV(x0, cons_active(z0)) -> c(DIV(encArg(x0), active(encArg(z0)))) ENCODE_DIV(x0, cons_mark(z0)) -> c(DIV(encArg(x0), mark(encArg(z0)))) ENCODE_DIV(x0, cons_minus(z0, z1)) -> c(DIV(encArg(x0), minus(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_s(z0)) -> c(DIV(encArg(x0), s(encArg(z0)))) ENCODE_DIV(x0, cons_geq(z0, z1)) -> c(DIV(encArg(x0), geq(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_div(z0, z1)) -> c(DIV(encArg(x0), div(encArg(z0), encArg(z1)))) ENCODE_DIV(x0, cons_if(z0, z1, z2)) -> c(DIV(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIV(0, x1) -> c(DIV(0, encArg(x1))) ENCODE_DIV(true, x1) -> c(DIV(true, encArg(x1))) ENCODE_DIV(false, x1) -> c(DIV(false, encArg(x1))) ENCODE_DIV(cons_active(z0), x1) -> c(DIV(active(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_mark(z0), x1) -> c(DIV(mark(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_minus(z0, z1), x1) -> c(DIV(minus(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_s(z0), x1) -> c(DIV(s(encArg(z0)), encArg(x1))) ENCODE_DIV(cons_geq(z0, z1), x1) -> c(DIV(geq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_div(z0, z1), x1) -> c(DIV(div(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIV(cons_if(z0, z1, z2), x1) -> c(DIV(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_IF(x0, x1, 0) -> c(IF(encArg(x0), encArg(x1), 0)) ENCODE_IF(x0, x1, true) -> c(IF(encArg(x0), encArg(x1), true)) ENCODE_IF(x0, x1, false) -> c(IF(encArg(x0), encArg(x1), false)) ENCODE_IF(x0, x1, cons_active(z0)) -> c(IF(encArg(x0), encArg(x1), active(encArg(z0)))) ENCODE_IF(x0, x1, cons_mark(z0)) -> c(IF(encArg(x0), encArg(x1), mark(encArg(z0)))) ENCODE_IF(x0, x1, cons_minus(z0, z1)) -> c(IF(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_geq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_div(z0, z1)) -> c(IF(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, 0, x2) -> c(IF(encArg(x0), 0, encArg(x2))) ENCODE_IF(x0, true, x2) -> c(IF(encArg(x0), true, encArg(x2))) ENCODE_IF(x0, false, x2) -> c(IF(encArg(x0), false, encArg(x2))) ENCODE_IF(x0, cons_active(z0), x2) -> c(IF(encArg(x0), active(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_mark(z0), x2) -> c(IF(encArg(x0), mark(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_minus(z0, z1), x2) -> c(IF(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_geq(z0, z1), x2) -> c(IF(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_div(z0, z1), x2) -> c(IF(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(0, x1, x2) -> c(IF(0, encArg(x1), encArg(x2))) ENCODE_IF(true, x1, x2) -> c(IF(true, encArg(x1), encArg(x2))) ENCODE_IF(false, x1, x2) -> c(IF(false, encArg(x1), encArg(x2))) ENCODE_IF(cons_active(z0), x1, x2) -> c(IF(active(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_mark(z0), x1, x2) -> c(IF(mark(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_minus(z0, z1), x1, x2) -> c(IF(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_geq(z0, z1), x1, x2) -> c(IF(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_div(z0, z1), x1, x2) -> c(IF(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCARG(cons_active(cons_active(cons_active(z0)))) -> c3(ACTIVE(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_active(cons_active(cons_mark(z0)))) -> c3(ACTIVE(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_active(cons_active(cons_minus(z0, z1)))) -> c3(ACTIVE(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_active(cons_active(cons_s(z0)))) -> c3(ACTIVE(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_active(cons_active(cons_geq(z0, z1)))) -> c3(ACTIVE(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_active(cons_active(cons_div(z0, z1)))) -> c3(ACTIVE(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_active(cons_active(cons_if(z0, z1, z2)))) -> c3(ACTIVE(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_mark(cons_active(z0)))) -> c3(ACTIVE(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_active(cons_mark(cons_mark(z0)))) -> c3(ACTIVE(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_active(cons_mark(cons_minus(z0, z1)))) -> c3(ACTIVE(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_active(cons_mark(cons_s(z0)))) -> c3(ACTIVE(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_active(cons_mark(cons_geq(z0, z1)))) -> c3(ACTIVE(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_active(cons_mark(cons_div(z0, z1)))) -> c3(ACTIVE(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_active(cons_mark(cons_if(z0, z1, z2)))) -> c3(ACTIVE(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) 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(true))) -> c1(ACTIVE(mark(true))) ENCARG(cons_active(cons_mark(true))) -> c1(ENCARG(cons_mark(true))) ENCARG(cons_active(cons_mark(false))) -> c1(ACTIVE(mark(false))) ENCARG(cons_active(cons_mark(false))) -> c1(ENCARG(cons_mark(false))) ENCARG(cons_active(cons_minus(x0, 0))) -> c3(ACTIVE(minus(encArg(x0), 0)), ENCARG(cons_minus(x0, 0))) ENCARG(cons_active(cons_minus(x0, true))) -> c3(ACTIVE(minus(encArg(x0), true)), ENCARG(cons_minus(x0, true))) ENCARG(cons_active(cons_minus(x0, false))) -> c3(ACTIVE(minus(encArg(x0), false)), ENCARG(cons_minus(x0, false))) ENCARG(cons_active(cons_minus(x0, cons_active(z0)))) -> c3(ACTIVE(minus(encArg(x0), active(encArg(z0)))), ENCARG(cons_minus(x0, cons_active(z0)))) ENCARG(cons_active(cons_minus(x0, cons_mark(z0)))) -> c3(ACTIVE(minus(encArg(x0), mark(encArg(z0)))), ENCARG(cons_minus(x0, cons_mark(z0)))) ENCARG(cons_active(cons_minus(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_s(z0)))) -> c3(ACTIVE(minus(encArg(x0), s(encArg(z0)))), ENCARG(cons_minus(x0, cons_s(z0)))) ENCARG(cons_active(cons_minus(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_div(z0, z1)))) -> c3(ACTIVE(minus(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_minus(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_minus(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_minus(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_minus(0, x1))) -> c3(ACTIVE(minus(0, encArg(x1))), ENCARG(cons_minus(0, x1))) ENCARG(cons_active(cons_minus(true, x1))) -> c3(ACTIVE(minus(true, encArg(x1))), ENCARG(cons_minus(true, x1))) ENCARG(cons_active(cons_minus(false, x1))) -> c3(ACTIVE(minus(false, encArg(x1))), ENCARG(cons_minus(false, x1))) ENCARG(cons_active(cons_minus(cons_active(z0), x1))) -> c3(ACTIVE(minus(active(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_active(z0), x1))) ENCARG(cons_active(cons_minus(cons_mark(z0), x1))) -> c3(ACTIVE(minus(mark(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_mark(z0), x1))) ENCARG(cons_active(cons_minus(cons_minus(z0, z1), x1))) -> c3(ACTIVE(minus(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_s(z0), x1))) -> c3(ACTIVE(minus(s(encArg(z0)), encArg(x1))), ENCARG(cons_minus(cons_s(z0), x1))) ENCARG(cons_active(cons_minus(cons_geq(z0, z1), x1))) -> c3(ACTIVE(minus(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_div(z0, z1), x1))) -> c3(ACTIVE(minus(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_minus(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_minus(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_minus(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_s(cons_active(z0)))) -> c3(ACTIVE(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_active(cons_s(cons_mark(z0)))) -> c3(ACTIVE(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_active(cons_s(cons_minus(z0, z1)))) -> c3(ACTIVE(s(minus(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_active(cons_s(cons_s(z0)))) -> c3(ACTIVE(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_active(cons_s(cons_geq(z0, z1)))) -> c3(ACTIVE(s(geq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_active(cons_s(cons_div(z0, z1)))) -> c3(ACTIVE(s(div(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_active(cons_s(cons_if(z0, z1, z2)))) -> c3(ACTIVE(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(x0, 0))) -> c3(ACTIVE(geq(encArg(x0), 0)), ENCARG(cons_geq(x0, 0))) ENCARG(cons_active(cons_geq(x0, true))) -> c3(ACTIVE(geq(encArg(x0), true)), ENCARG(cons_geq(x0, true))) ENCARG(cons_active(cons_geq(x0, false))) -> c3(ACTIVE(geq(encArg(x0), false)), ENCARG(cons_geq(x0, false))) ENCARG(cons_active(cons_geq(x0, cons_active(z0)))) -> c3(ACTIVE(geq(encArg(x0), active(encArg(z0)))), ENCARG(cons_geq(x0, cons_active(z0)))) ENCARG(cons_active(cons_geq(x0, cons_mark(z0)))) -> c3(ACTIVE(geq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_geq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_geq(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_s(z0)))) -> c3(ACTIVE(geq(encArg(x0), s(encArg(z0)))), ENCARG(cons_geq(x0, cons_s(z0)))) ENCARG(cons_active(cons_geq(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_div(z0, z1)))) -> c3(ACTIVE(geq(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_geq(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_geq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_geq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_geq(0, x1))) -> c3(ACTIVE(geq(0, encArg(x1))), ENCARG(cons_geq(0, x1))) ENCARG(cons_active(cons_geq(true, x1))) -> c3(ACTIVE(geq(true, encArg(x1))), ENCARG(cons_geq(true, x1))) ENCARG(cons_active(cons_geq(false, x1))) -> c3(ACTIVE(geq(false, encArg(x1))), ENCARG(cons_geq(false, x1))) ENCARG(cons_active(cons_geq(cons_active(z0), x1))) -> c3(ACTIVE(geq(active(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_active(z0), x1))) ENCARG(cons_active(cons_geq(cons_mark(z0), x1))) -> c3(ACTIVE(geq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_mark(z0), x1))) ENCARG(cons_active(cons_geq(cons_minus(z0, z1), x1))) -> c3(ACTIVE(geq(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_s(z0), x1))) -> c3(ACTIVE(geq(s(encArg(z0)), encArg(x1))), ENCARG(cons_geq(cons_s(z0), x1))) ENCARG(cons_active(cons_geq(cons_geq(z0, z1), x1))) -> c3(ACTIVE(geq(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_div(z0, z1), x1))) -> c3(ACTIVE(geq(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_geq(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_geq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_geq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_div(x0, 0))) -> c3(ACTIVE(div(encArg(x0), 0)), ENCARG(cons_div(x0, 0))) ENCARG(cons_active(cons_div(x0, true))) -> c3(ACTIVE(div(encArg(x0), true)), ENCARG(cons_div(x0, true))) ENCARG(cons_active(cons_div(x0, false))) -> c3(ACTIVE(div(encArg(x0), false)), ENCARG(cons_div(x0, false))) ENCARG(cons_active(cons_div(x0, cons_active(z0)))) -> c3(ACTIVE(div(encArg(x0), active(encArg(z0)))), ENCARG(cons_div(x0, cons_active(z0)))) ENCARG(cons_active(cons_div(x0, cons_mark(z0)))) -> c3(ACTIVE(div(encArg(x0), mark(encArg(z0)))), ENCARG(cons_div(x0, cons_mark(z0)))) ENCARG(cons_active(cons_div(x0, cons_minus(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), minus(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_minus(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_s(z0)))) -> c3(ACTIVE(div(encArg(x0), s(encArg(z0)))), ENCARG(cons_div(x0, cons_s(z0)))) ENCARG(cons_active(cons_div(x0, cons_geq(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), geq(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_geq(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_div(z0, z1)))) -> c3(ACTIVE(div(encArg(x0), div(encArg(z0), encArg(z1)))), ENCARG(cons_div(x0, cons_div(z0, z1)))) ENCARG(cons_active(cons_div(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_div(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_div(0, x1))) -> c3(ACTIVE(div(0, encArg(x1))), ENCARG(cons_div(0, x1))) ENCARG(cons_active(cons_div(true, x1))) -> c3(ACTIVE(div(true, encArg(x1))), ENCARG(cons_div(true, x1))) ENCARG(cons_active(cons_div(false, x1))) -> c3(ACTIVE(div(false, encArg(x1))), ENCARG(cons_div(false, x1))) ENCARG(cons_active(cons_div(cons_active(z0), x1))) -> c3(ACTIVE(div(active(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_active(z0), x1))) ENCARG(cons_active(cons_div(cons_mark(z0), x1))) -> c3(ACTIVE(div(mark(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_mark(z0), x1))) ENCARG(cons_active(cons_div(cons_minus(z0, z1), x1))) -> c3(ACTIVE(div(minus(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_minus(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_s(z0), x1))) -> c3(ACTIVE(div(s(encArg(z0)), encArg(x1))), ENCARG(cons_div(cons_s(z0), x1))) ENCARG(cons_active(cons_div(cons_geq(z0, z1), x1))) -> c3(ACTIVE(div(geq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_geq(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_div(z0, z1), x1))) -> c3(ACTIVE(div(div(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_div(cons_div(z0, z1), x1))) ENCARG(cons_active(cons_div(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_div(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_if(x0, x1, 0))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_active(cons_if(x0, x1, true))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_active(cons_if(x0, x1, false))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_active(cons_if(x0, x1, cons_active(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_mark(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_minus(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_minus(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_s(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_active(cons_if(x0, x1, cons_geq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_geq(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_div(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_div(z0, z1)))) ENCARG(cons_active(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_if(x0, 0, x2))) -> c3(ACTIVE(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_active(cons_if(x0, true, x2))) -> c3(ACTIVE(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_active(cons_if(x0, false, x2))) -> c3(ACTIVE(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_active(cons_if(x0, cons_active(z0), x2))) -> c3(ACTIVE(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_mark(z0), x2))) -> c3(ACTIVE(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_minus(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_minus(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_s(z0), x2))) -> c3(ACTIVE(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_active(cons_if(x0, cons_geq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_geq(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_div(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_div(z0, z1), x2))) ENCARG(cons_active(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c3(ACTIVE(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_active(cons_if(0, x1, x2))) -> c3(ACTIVE(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_active(cons_if(true, x1, x2))) -> c3(ACTIVE(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_active(cons_if(false, x1, x2))) -> c3(ACTIVE(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_active(cons_if(cons_active(z0), x1, x2))) -> c3(ACTIVE(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_mark(z0), x1, x2))) -> c3(ACTIVE(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_minus(z0, z1), x1, x2))) -> c3(ACTIVE(if(minus(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_minus(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_s(z0), x1, x2))) -> c3(ACTIVE(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_active(cons_if(cons_geq(z0, z1), x1, x2))) -> c3(ACTIVE(if(geq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_geq(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_div(z0, z1), x1, x2))) -> c3(ACTIVE(if(div(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_div(z0, z1), x1, x2))) ENCARG(cons_active(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c3(ACTIVE(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_mark(cons_active(cons_active(z0)))) -> c4(MARK(active(active(encArg(z0)))), ENCARG(cons_active(cons_active(z0)))) ENCARG(cons_mark(cons_active(cons_mark(z0)))) -> c4(MARK(active(mark(encArg(z0)))), ENCARG(cons_active(cons_mark(z0)))) ENCARG(cons_mark(cons_active(cons_minus(z0, z1)))) -> c4(MARK(active(minus(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_active(cons_s(z0)))) -> c4(MARK(active(s(encArg(z0)))), ENCARG(cons_active(cons_s(z0)))) ENCARG(cons_mark(cons_active(cons_geq(z0, z1)))) -> c4(MARK(active(geq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_active(cons_div(z0, z1)))) -> c4(MARK(active(div(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_div(z0, z1)))) ENCARG(cons_mark(cons_active(cons_if(z0, z1, z2)))) -> c4(MARK(active(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_active(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(cons_active(z0)))) -> c4(MARK(mark(active(encArg(z0)))), ENCARG(cons_mark(cons_active(z0)))) ENCARG(cons_mark(cons_mark(cons_mark(z0)))) -> c4(MARK(mark(mark(encArg(z0)))), ENCARG(cons_mark(cons_mark(z0)))) ENCARG(cons_mark(cons_mark(cons_minus(z0, z1)))) -> c4(MARK(mark(minus(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_minus(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_s(z0)))) -> c4(MARK(mark(s(encArg(z0)))), ENCARG(cons_mark(cons_s(z0)))) ENCARG(cons_mark(cons_mark(cons_geq(z0, z1)))) -> c4(MARK(mark(geq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_geq(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_div(z0, z1)))) -> c4(MARK(mark(div(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_div(z0, z1)))) ENCARG(cons_mark(cons_mark(cons_if(z0, z1, z2)))) -> c4(MARK(mark(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_mark(cons_if(z0, z1, z2)))) ENCARG(cons_mark(cons_mark(0))) -> c2(MARK(mark(0))) ENCARG(cons_mark(cons_mark(0))) -> c2(ENCARG(cons_mark(0))) ENCARG(cons_mark(cons_mark(true))) -> c2(MARK(mark(true))) ENCARG(cons_mark(cons_mark(true))) -> c2(ENCARG(cons_mark(true))) ENCARG(cons_mark(cons_mark(false))) -> c2(MARK(mark(false))) ENCARG(cons_mark(cons_mark(false))) -> c2(ENCARG(cons_mark(false))) ENCARG(cons_minus(x0, cons_minus(x1, 0))) -> c5(MINUS(encArg(x0), minus(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_minus(x1, 0))) ENCARG(cons_minus(x0, cons_minus(x1, true))) -> c5(MINUS(encArg(x0), minus(encArg(x1), true)), ENCARG(x0), ENCARG(cons_minus(x1, true))) ENCARG(cons_minus(x0, cons_minus(x1, false))) -> c5(MINUS(encArg(x0), minus(encArg(x1), false)), ENCARG(x0), ENCARG(cons_minus(x1, false))) ENCARG(cons_minus(x0, cons_minus(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_minus(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), minus(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_minus(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_minus(0, x2))) -> c5(MINUS(encArg(x0), minus(0, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(0, x2))) ENCARG(cons_minus(x0, cons_minus(true, x2))) -> c5(MINUS(encArg(x0), minus(true, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(true, x2))) ENCARG(cons_minus(x0, cons_minus(false, x2))) -> c5(MINUS(encArg(x0), minus(false, encArg(x2))), ENCARG(x0), ENCARG(cons_minus(false, x2))) ENCARG(cons_minus(x0, cons_minus(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), minus(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), minus(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), minus(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_minus(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), minus(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_minus(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_minus(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_minus(x1, x2))) -> c5(MINUS(active(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_minus(x1, x2))) -> c5(MINUS(mark(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_minus(x1, x2))) -> c5(MINUS(s(encArg(z0)), minus(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_minus(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), minus(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_minus(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), minus(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(0, cons_minus(x1, x2))) -> c5(MINUS(0, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(true, cons_minus(x1, x2))) -> c5(MINUS(true, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(false, cons_minus(x1, x2))) -> c5(MINUS(false, minus(encArg(x1), encArg(x2))), ENCARG(cons_minus(x1, x2))) ENCARG(cons_minus(x0, cons_s(cons_active(z0)))) -> c5(MINUS(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_minus(x0, cons_s(cons_mark(z0)))) -> c5(MINUS(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_minus(x0, cons_s(cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), s(minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_s(z0)))) -> c5(MINUS(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_minus(x0, cons_s(cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), s(geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), s(div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_s(cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_minus(cons_active(z0), cons_s(x1))) -> c5(MINUS(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_mark(z0), cons_s(x1))) -> c5(MINUS(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_minus(z0, z1), cons_s(x1))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_s(z0), cons_s(x1))) -> c5(MINUS(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_geq(z0, z1), cons_s(x1))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_div(z0, z1), cons_s(x1))) -> c5(MINUS(div(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_div(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_s(x1))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_s(0))) -> c5(MINUS(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(true))) -> c5(MINUS(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_minus(x0, cons_s(false))) -> c5(MINUS(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_minus(0, cons_s(x1))) -> c5(MINUS(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(true, cons_s(x1))) -> c5(MINUS(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(false, cons_s(x1))) -> c5(MINUS(false, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_minus(x0, cons_geq(x1, 0))) -> c5(MINUS(encArg(x0), geq(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_geq(x1, 0))) ENCARG(cons_minus(x0, cons_geq(x1, true))) -> c5(MINUS(encArg(x0), geq(encArg(x1), true)), ENCARG(x0), ENCARG(cons_geq(x1, true))) ENCARG(cons_minus(x0, cons_geq(x1, false))) -> c5(MINUS(encArg(x0), geq(encArg(x1), false)), ENCARG(x0), ENCARG(cons_geq(x1, false))) ENCARG(cons_minus(x0, cons_geq(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_geq(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), geq(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_geq(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_geq(0, x2))) -> c5(MINUS(encArg(x0), geq(0, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(0, x2))) ENCARG(cons_minus(x0, cons_geq(true, x2))) -> c5(MINUS(encArg(x0), geq(true, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(true, x2))) ENCARG(cons_minus(x0, cons_geq(false, x2))) -> c5(MINUS(encArg(x0), geq(false, encArg(x2))), ENCARG(x0), ENCARG(cons_geq(false, x2))) ENCARG(cons_minus(x0, cons_geq(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), geq(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), geq(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), geq(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_geq(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), geq(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_geq(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_geq(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_geq(x1, x2))) -> c5(MINUS(active(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_geq(x1, x2))) -> c5(MINUS(mark(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_geq(x1, x2))) -> c5(MINUS(s(encArg(z0)), geq(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_geq(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), geq(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_geq(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), geq(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(0, cons_geq(x1, x2))) -> c5(MINUS(0, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(true, cons_geq(x1, x2))) -> c5(MINUS(true, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(false, cons_geq(x1, x2))) -> c5(MINUS(false, geq(encArg(x1), encArg(x2))), ENCARG(cons_geq(x1, x2))) ENCARG(cons_minus(x0, cons_div(x1, 0))) -> c5(MINUS(encArg(x0), div(encArg(x1), 0)), ENCARG(x0), ENCARG(cons_div(x1, 0))) ENCARG(cons_minus(x0, cons_div(x1, true))) -> c5(MINUS(encArg(x0), div(encArg(x1), true)), ENCARG(x0), ENCARG(cons_div(x1, true))) ENCARG(cons_minus(x0, cons_div(x1, false))) -> c5(MINUS(encArg(x0), div(encArg(x1), false)), ENCARG(x0), ENCARG(cons_div(x1, false))) ENCARG(cons_minus(x0, cons_div(x1, cons_active(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_active(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_mark(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_s(z0)))) -> c5(MINUS(encArg(x0), div(encArg(x1), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_div(x1, cons_s(z0)))) ENCARG(cons_minus(x0, cons_div(x1, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), div(encArg(x1), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_div(x1, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_div(x1, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), div(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_div(x1, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_div(0, x2))) -> c5(MINUS(encArg(x0), div(0, encArg(x2))), ENCARG(x0), ENCARG(cons_div(0, x2))) ENCARG(cons_minus(x0, cons_div(true, x2))) -> c5(MINUS(encArg(x0), div(true, encArg(x2))), ENCARG(x0), ENCARG(cons_div(true, x2))) ENCARG(cons_minus(x0, cons_div(false, x2))) -> c5(MINUS(encArg(x0), div(false, encArg(x2))), ENCARG(x0), ENCARG(cons_div(false, x2))) ENCARG(cons_minus(x0, cons_div(cons_active(z0), x2))) -> c5(MINUS(encArg(x0), div(active(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_active(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_mark(z0), x2))) -> c5(MINUS(encArg(x0), div(mark(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_mark(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_minus(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(minus(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_minus(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_s(z0), x2))) -> c5(MINUS(encArg(x0), div(s(encArg(z0)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_s(z0), x2))) ENCARG(cons_minus(x0, cons_div(cons_geq(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(geq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_geq(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_div(z0, z1), x2))) -> c5(MINUS(encArg(x0), div(div(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_div(z0, z1), x2))) ENCARG(cons_minus(x0, cons_div(cons_if(z0, z1, z2), x2))) -> c5(MINUS(encArg(x0), div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(x0), ENCARG(cons_div(cons_if(z0, z1, z2), x2))) ENCARG(cons_minus(cons_active(z0), cons_div(x1, x2))) -> c5(MINUS(active(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_active(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_mark(z0), cons_div(x1, x2))) -> c5(MINUS(mark(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_mark(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_minus(z0, z1), cons_div(x1, x2))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_s(z0), cons_div(x1, x2))) -> c5(MINUS(s(encArg(z0)), div(encArg(x1), encArg(x2))), ENCARG(cons_s(z0)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_geq(z0, z1), cons_div(x1, x2))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_div(z0, z1), cons_div(x1, x2))) -> c5(MINUS(div(encArg(z0), encArg(z1)), div(encArg(x1), encArg(x2))), ENCARG(cons_div(z0, z1)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_div(x1, x2))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), div(encArg(x1), encArg(x2))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(0, cons_div(x1, x2))) -> c5(MINUS(0, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(true, cons_div(x1, x2))) -> c5(MINUS(true, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(false, cons_div(x1, x2))) -> c5(MINUS(false, div(encArg(x1), encArg(x2))), ENCARG(cons_div(x1, x2))) ENCARG(cons_minus(x0, cons_if(x1, x2, 0))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), 0)), ENCARG(x0), ENCARG(cons_if(x1, x2, 0))) ENCARG(cons_minus(x0, cons_if(x1, x2, true))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), true)), ENCARG(x0), ENCARG(cons_if(x1, x2, true))) ENCARG(cons_minus(x0, cons_if(x1, x2, false))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), false)), ENCARG(x0), ENCARG(cons_if(x1, x2, false))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_active(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), active(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_active(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_mark(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_mark(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_minus(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), minus(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_minus(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_s(z0)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), s(encArg(z0)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_s(z0)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_geq(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), geq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_geq(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_div(z0, z1)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), div(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_div(z0, z1)))) ENCARG(cons_minus(x0, cons_if(x1, x2, cons_if(z0, z1, z2)))) -> c5(MINUS(encArg(x0), if(encArg(x1), encArg(x2), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_if(x1, x2, cons_if(z0, z1, z2)))) ENCARG(cons_minus(x0, cons_if(x1, 0, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), 0, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, 0, x3))) ENCARG(cons_minus(x0, cons_if(x1, true, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), true, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, true, x3))) ENCARG(cons_minus(x0, cons_if(x1, false, x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), false, encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, false, x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_active(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), active(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_active(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_mark(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), mark(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_mark(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_minus(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), minus(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_minus(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_s(z0), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), s(encArg(z0)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_s(z0), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_geq(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), geq(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_geq(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_div(z0, z1), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), div(encArg(z0), encArg(z1)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_div(z0, z1), x3))) ENCARG(cons_minus(x0, cons_if(x1, cons_if(z0, z1, z2), x3))) -> c5(MINUS(encArg(x0), if(encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x3))), ENCARG(x0), ENCARG(cons_if(x1, cons_if(z0, z1, z2), x3))) ENCARG(cons_minus(x0, cons_if(0, x2, x3))) -> c5(MINUS(encArg(x0), if(0, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(0, x2, x3))) ENCARG(cons_minus(x0, cons_if(true, x2, x3))) -> c5(MINUS(encArg(x0), if(true, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(true, x2, x3))) ENCARG(cons_minus(x0, cons_if(false, x2, x3))) -> c5(MINUS(encArg(x0), if(false, encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(false, x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_active(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(active(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_active(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_mark(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(mark(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_mark(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_minus(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(minus(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_minus(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_s(z0), x2, x3))) -> c5(MINUS(encArg(x0), if(s(encArg(z0)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_s(z0), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_geq(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(geq(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_geq(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_div(z0, z1), x2, x3))) -> c5(MINUS(encArg(x0), if(div(encArg(z0), encArg(z1)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_div(z0, z1), x2, x3))) ENCARG(cons_minus(x0, cons_if(cons_if(z0, z1, z2), x2, x3))) -> c5(MINUS(encArg(x0), if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2), encArg(x3))), ENCARG(x0), ENCARG(cons_if(cons_if(z0, z1, z2), x2, x3))) ENCARG(cons_minus(cons_active(z0), cons_if(x1, x2, x3))) -> c5(MINUS(active(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_active(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_mark(z0), cons_if(x1, x2, x3))) -> c5(MINUS(mark(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_mark(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(minus(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_minus(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_s(z0), cons_if(x1, x2, x3))) -> c5(MINUS(s(encArg(z0)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_s(z0)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_geq(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(geq(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_geq(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_div(z0, z1), cons_if(x1, x2, x3))) -> c5(MINUS(div(encArg(z0), encArg(z1)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_div(z0, z1)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_if(z0, z1, z2), cons_if(x1, x2, x3))) -> c5(MINUS(if(encArg(z0), encArg(z1), encArg(z2)), if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(0, cons_if(x1, x2, x3))) -> c5(MINUS(0, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(true, cons_if(x1, x2, x3))) -> c5(MINUS(true, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(false, cons_if(x1, x2, x3))) -> c5(MINUS(false, if(encArg(x1), encArg(x2), encArg(x3))), ENCARG(cons_if(x1, x2, x3))) ENCARG(cons_minus(cons_minus(x0, x1), cons_active(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_minus(x0, x1), cons_mark(z0))) -> c5(MINUS(minus(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_minus(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_minus(x0, 0), x2)) -> c5(MINUS(minus(encArg(x0), 0), encArg(x2)), ENCARG(cons_minus(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, true), x2)) -> c5(MINUS(minus(encArg(x0), true), encArg(x2)), ENCARG(cons_minus(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, false), x2)) -> c5(MINUS(minus(encArg(x0), false), encArg(x2)), ENCARG(cons_minus(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_active(z0)), x2)) -> c5(MINUS(minus(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_mark(z0)), x2)) -> c5(MINUS(minus(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_s(z0)), x2)) -> c5(MINUS(minus(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_minus(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(minus(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_minus(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(minus(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_minus(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_minus(0, x1), x2)) -> c5(MINUS(minus(0, encArg(x1)), encArg(x2)), ENCARG(cons_minus(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(true, x1), x2)) -> c5(MINUS(minus(true, encArg(x1)), encArg(x2)), ENCARG(cons_minus(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(false, x1), x2)) -> c5(MINUS(minus(false, encArg(x1)), encArg(x2)), ENCARG(cons_minus(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_active(z0), x1), x2)) -> c5(MINUS(minus(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_mark(z0), x1), x2)) -> c5(MINUS(minus(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(minus(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_s(z0), x1), x2)) -> c5(MINUS(minus(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(minus(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_div(z0, z1), x1), x2)) -> c5(MINUS(minus(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(minus(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_minus(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_minus(x0, x1), 0)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), 0), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), true)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), true), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_minus(x0, x1), false)) -> c5(MINUS(minus(encArg(x0), encArg(x1)), false), ENCARG(cons_minus(x0, x1))) ENCARG(cons_minus(cons_s(x0), cons_active(z0))) -> c5(MINUS(s(encArg(x0)), active(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_s(x0), cons_mark(z0))) -> c5(MINUS(s(encArg(x0)), mark(encArg(z0))), ENCARG(cons_s(x0)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_s(cons_active(z0)), x1)) -> c5(MINUS(s(active(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_active(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_mark(z0)), x1)) -> c5(MINUS(s(mark(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_mark(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_minus(z0, z1)), x1)) -> c5(MINUS(s(minus(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_minus(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_s(z0)), x1)) -> c5(MINUS(s(s(encArg(z0))), encArg(x1)), ENCARG(cons_s(cons_s(z0))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_geq(z0, z1)), x1)) -> c5(MINUS(s(geq(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_geq(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_div(z0, z1)), x1)) -> c5(MINUS(s(div(encArg(z0), encArg(z1))), encArg(x1)), ENCARG(cons_s(cons_div(z0, z1))), ENCARG(x1)) ENCARG(cons_minus(cons_s(cons_if(z0, z1, z2)), x1)) -> c5(MINUS(s(if(encArg(z0), encArg(z1), encArg(z2))), encArg(x1)), ENCARG(cons_s(cons_if(z0, z1, z2))), ENCARG(x1)) ENCARG(cons_minus(cons_s(x0), 0)) -> c5(MINUS(s(encArg(x0)), 0), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), true)) -> c5(MINUS(s(encArg(x0)), true), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(x0), false)) -> c5(MINUS(s(encArg(x0)), false), ENCARG(cons_s(x0))) ENCARG(cons_minus(cons_s(0), x1)) -> c5(MINUS(s(0), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(true), x1)) -> c5(MINUS(s(true), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_s(false), x1)) -> c5(MINUS(s(false), encArg(x1)), ENCARG(x1)) ENCARG(cons_minus(cons_geq(x0, x1), cons_active(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_geq(x0, x1), cons_mark(z0))) -> c5(MINUS(geq(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_geq(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_geq(x0, 0), x2)) -> c5(MINUS(geq(encArg(x0), 0), encArg(x2)), ENCARG(cons_geq(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, true), x2)) -> c5(MINUS(geq(encArg(x0), true), encArg(x2)), ENCARG(cons_geq(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, false), x2)) -> c5(MINUS(geq(encArg(x0), false), encArg(x2)), ENCARG(cons_geq(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_active(z0)), x2)) -> c5(MINUS(geq(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_mark(z0)), x2)) -> c5(MINUS(geq(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_s(z0)), x2)) -> c5(MINUS(geq(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_geq(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(geq(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_geq(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(geq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_geq(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_geq(0, x1), x2)) -> c5(MINUS(geq(0, encArg(x1)), encArg(x2)), ENCARG(cons_geq(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(true, x1), x2)) -> c5(MINUS(geq(true, encArg(x1)), encArg(x2)), ENCARG(cons_geq(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(false, x1), x2)) -> c5(MINUS(geq(false, encArg(x1)), encArg(x2)), ENCARG(cons_geq(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_active(z0), x1), x2)) -> c5(MINUS(geq(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_mark(z0), x1), x2)) -> c5(MINUS(geq(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(geq(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_s(z0), x1), x2)) -> c5(MINUS(geq(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(geq(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_div(z0, z1), x1), x2)) -> c5(MINUS(geq(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(geq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_geq(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_geq(x0, x1), 0)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), 0), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), true)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), true), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_geq(x0, x1), false)) -> c5(MINUS(geq(encArg(x0), encArg(x1)), false), ENCARG(cons_geq(x0, x1))) ENCARG(cons_minus(cons_div(x0, x1), cons_active(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), active(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_active(z0))) ENCARG(cons_minus(cons_div(x0, x1), cons_mark(z0))) -> c5(MINUS(div(encArg(x0), encArg(x1)), mark(encArg(z0))), ENCARG(cons_div(x0, x1)), ENCARG(cons_mark(z0))) ENCARG(cons_minus(cons_div(x0, 0), x2)) -> c5(MINUS(div(encArg(x0), 0), encArg(x2)), ENCARG(cons_div(x0, 0)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, true), x2)) -> c5(MINUS(div(encArg(x0), true), encArg(x2)), ENCARG(cons_div(x0, true)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, false), x2)) -> c5(MINUS(div(encArg(x0), false), encArg(x2)), ENCARG(cons_div(x0, false)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_active(z0)), x2)) -> c5(MINUS(div(encArg(x0), active(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_active(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_mark(z0)), x2)) -> c5(MINUS(div(encArg(x0), mark(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_mark(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_minus(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), minus(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_minus(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_s(z0)), x2)) -> c5(MINUS(div(encArg(x0), s(encArg(z0))), encArg(x2)), ENCARG(cons_div(x0, cons_s(z0))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_geq(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), geq(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_geq(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_div(z0, z1)), x2)) -> c5(MINUS(div(encArg(x0), div(encArg(z0), encArg(z1))), encArg(x2)), ENCARG(cons_div(x0, cons_div(z0, z1))), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, cons_if(z0, z1, z2)), x2)) -> c5(MINUS(div(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), encArg(x2)), ENCARG(cons_div(x0, cons_if(z0, z1, z2))), ENCARG(x2)) ENCARG(cons_minus(cons_div(0, x1), x2)) -> c5(MINUS(div(0, encArg(x1)), encArg(x2)), ENCARG(cons_div(0, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(true, x1), x2)) -> c5(MINUS(div(true, encArg(x1)), encArg(x2)), ENCARG(cons_div(true, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(false, x1), x2)) -> c5(MINUS(div(false, encArg(x1)), encArg(x2)), ENCARG(cons_div(false, x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_active(z0), x1), x2)) -> c5(MINUS(div(active(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_active(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_mark(z0), x1), x2)) -> c5(MINUS(div(mark(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_mark(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_minus(z0, z1), x1), x2)) -> c5(MINUS(div(minus(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_minus(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_s(z0), x1), x2)) -> c5(MINUS(div(s(encArg(z0)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_s(z0), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_geq(z0, z1), x1), x2)) -> c5(MINUS(div(geq(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_geq(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_div(z0, z1), x1), x2)) -> c5(MINUS(div(div(encArg(z0), encArg(z1)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_div(z0, z1), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(cons_if(z0, z1, z2), x1), x2)) -> c5(MINUS(div(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), encArg(x2)), ENCARG(cons_div(cons_if(z0, z1, z2), x1)), ENCARG(x2)) ENCARG(cons_minus(cons_div(x0, x1), 0)) -> c5(MINUS(div(encArg(x0), encArg(x1)), 0), ENCARG(cons_div(x0, x1))) ENCARG(cons_minus(cons_div(x0, x1), true)) -> c5(MINUS(div(encArg(x0), encArg(x1)), true), ENCARG(cons_div(x0, x1))) ENCARG(cons_minus(cons_div(x0, x1), false)) -> c5(MINUS(div(encArg(x0), encArg(x1)), false), ENCARG(cons_div(x0, x1))) S tuples: ACTIVE(minus(0, z0)) -> c20(MARK(0)) ACTIVE(minus(s(z0), s(z1))) -> c21(MARK(minus(z0, z1)), MINUS(z0, z1)) ACTIVE(geq(z0, 0)) -> c22(MARK(true)) ACTIVE(geq(0, s(z0))) -> c23(MARK(false)) ACTIVE(geq(s(z0), s(z1))) -> c24(MARK(geq(z0, z1)), GEQ(z0, z1)) ACTIVE(div(0, s(z0))) -> c25(MARK(0)) ACTIVE(if(true, z0, z1)) -> c27(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c28(MARK(z1)) MARK(minus(z0, z1)) -> c29(ACTIVE(minus(z0, z1)), MINUS(z0, z1)) MARK(geq(z0, z1)) -> c32(ACTIVE(geq(z0, z1)), GEQ(z0, z1)) MINUS(mark(z0), z1) -> c37(MINUS(z0, z1)) MINUS(z0, mark(z1)) -> c38(MINUS(z0, z1)) MINUS(active(z0), z1) -> c39(MINUS(z0, z1)) MINUS(z0, active(z1)) -> c40(MINUS(z0, z1)) S(mark(z0)) -> c41(S(z0)) S(active(z0)) -> c42(S(z0)) GEQ(mark(z0), z1) -> c43(GEQ(z0, z1)) GEQ(z0, mark(z1)) -> c44(GEQ(z0, z1)) GEQ(active(z0), z1) -> c45(GEQ(z0, z1)) GEQ(z0, active(z1)) -> c46(GEQ(z0, z1)) DIV(mark(z0), z1) -> c47(DIV(z0, z1)) DIV(z0, mark(z1)) -> c48(DIV(z0, z1)) DIV(active(z0), z1) -> c49(DIV(z0, z1)) DIV(z0, active(z1)) -> c50(DIV(z0, z1)) IF(mark(z0), z1, z2) -> c51(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c52(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c53(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c54(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c55(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c56(IF(z0, z1, z2)) ACTIVE(div(s(z0), s(z1))) -> c26(MARK(if(geq(z0, z1), s(div(minus(z0, z1), s(z1))), 0)), GEQ(z0, z1), MINUS(z0, z1), S(z1)) MARK(0) -> c30 MARK(true) -> c33 MARK(false) -> c34 MARK(s(minus(z0, z1))) -> c31(ACTIVE(s(active(minus(z0, z1)))), S(mark(minus(z0, z1))), MARK(minus(z0, z1))) MARK(s(0)) -> c31(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c31(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(geq(z0, z1))) -> c31(ACTIVE(s(active(geq(z0, z1)))), S(mark(geq(z0, z1))), MARK(geq(z0, z1))) MARK(s(true)) -> c31(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c31(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(div(z0, z1))) -> c31(ACTIVE(s(active(div(mark(z0), z1)))), S(mark(div(z0, z1))), MARK(div(z0, z1))) MARK(s(if(z0, z1, z2))) -> c31(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(z0)) -> c31(S(mark(z0)), MARK(z0)) MARK(div(z0, z1)) -> c35(ACTIVE(div(z0, z1)), DIV(mark(z0), z1), MARK(z0)) MARK(div(minus(z0, z1), x1)) -> c35(ACTIVE(div(active(minus(z0, z1)), x1)), DIV(mark(minus(z0, z1)), x1), MARK(minus(z0, z1))) MARK(div(0, x1)) -> c35(ACTIVE(div(active(0), x1)), DIV(mark(0), x1), MARK(0)) MARK(div(s(z0), x1)) -> c35(ACTIVE(div(active(s(mark(z0))), x1)), DIV(mark(s(z0)), x1), MARK(s(z0))) MARK(div(geq(z0, z1), x1)) -> c35(ACTIVE(div(active(geq(z0, z1)), x1)), DIV(mark(geq(z0, z1)), x1), MARK(geq(z0, z1))) MARK(div(true, x1)) -> c35(ACTIVE(div(active(true), x1)), DIV(mark(true), x1), MARK(true)) MARK(div(false, x1)) -> c35(ACTIVE(div(active(false), x1)), DIV(mark(false), x1), MARK(false)) MARK(div(div(z0, z1), x1)) -> c35(ACTIVE(div(active(div(mark(z0), z1)), x1)), DIV(mark(div(z0, z1)), x1), MARK(div(z0, z1))) MARK(div(if(z0, z1, z2), x1)) -> c35(ACTIVE(div(active(if(mark(z0), z1, z2)), x1)), DIV(mark(if(z0, z1, z2)), x1), MARK(if(z0, z1, z2))) MARK(div(x0, x1)) -> c35(DIV(mark(x0), x1)) MARK(if(z0, z1, z2)) -> c36(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(minus(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(minus(z0, z1)), x1, x2)), IF(mark(minus(z0, z1)), x1, x2), MARK(minus(z0, z1))) MARK(if(0, x1, x2)) -> c36(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c36(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(geq(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(geq(z0, z1)), x1, x2)), IF(mark(geq(z0, z1)), x1, x2), MARK(geq(z0, z1))) MARK(if(true, x1, x2)) -> c36(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c36(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(div(z0, z1), x1, x2)) -> c36(ACTIVE(if(active(div(mark(z0), z1)), x1, x2)), IF(mark(div(z0, z1)), x1, x2), MARK(div(z0, z1))) MARK(if(if(z0, z1, z2), x1, x2)) -> c36(ACTIVE(if(active(if(mark(z0), z1, z2)), x1, x2)), IF(mark(if(z0, z1, z2)), x1, x2), MARK(if(z0, z1, z2))) MARK(if(x0, x1, x2)) -> c36(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, minus_2, s_1, geq_2, div_2, if_3 Defined Pair Symbols: ACTIVE_1, MARK_1, MINUS_2, S_1, GEQ_2, DIV_2, IF_3, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_MINUS_2, ENCODE_MARK_1, ENCODE_S_1, ENCODE_GEQ_2, ENCODE_DIV_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_2, c22_1, c23_1, c24_2, c25_1, c27_1, c28_1, c29_2, c32_2, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c54_1, c55_1, c56_1, c26_4, c30, c33, c34, c4_2, c4_1, c5_3, c5_2, c6_2, c7_3, c7_2, c8_3, c8_2, c9_4, c9_3, c31_3, c31_2, c35_3, c35_1, c36_3, c36_1, c_1, c3_2, c1_1, c2_1