/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), 361 ms] (4) CpxRelTRS (5) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) typed CpxTrs (9) OrderProof [LOWER BOUND(ID), 6 ms] (10) typed CpxTrs (11) RewriteLemmaProof [LOWER BOUND(ID), 9439 ms] (12) BOUNDS(1, INF) (13) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] (14) TRS for Loop Detection (15) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (16) CpxTRS (17) NonCtorToCtorProof [UPPER BOUND(ID), 0 ms] (18) CpxRelTRS (19) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxWeightedTrs (21) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CpxTypedWeightedTrs (23) CompletionProof [UPPER BOUND(ID), 0 ms] (24) CpxTypedWeightedCompleteTrs (25) NarrowingProof [BOTH BOUNDS(ID, ID), 6750 ms] (26) CpxTypedWeightedCompleteTrs (27) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 3 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), 0 ms] (34) CpxRNTS (35) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (36) CdtProblem (37) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtLeafRemovalProof [ComplexityIfPolyImplication, 0 ms] (44) CdtProblem (45) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 39 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), 0 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 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), 54 ms] (68) CdtProblem (69) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 1 ms] (70) CdtProblem (71) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 56 ms] (72) CdtProblem (73) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 17 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtLeafRemovalProof [ComplexityIfPolyImplication, 9 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 7 ms] (100) CdtProblem (101) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 5 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (114) CdtProblem (115) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 12 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 7 ms] (120) CdtProblem (121) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 30 ms] (124) CdtProblem (125) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 50 ms] (130) CdtProblem (131) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 36 ms] (136) CdtProblem (137) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 9 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (140) CdtProblem (141) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 9 ms] (146) CdtProblem (147) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 44 ms] (148) CdtProblem (149) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 53 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 53 ms] (152) CdtProblem (153) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 50 ms] (154) CdtProblem (155) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (158) CdtProblem (159) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (160) CdtProblem (161) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 19 ms] (162) CdtProblem (163) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 58 ms] (164) CdtProblem (165) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 60 ms] (166) CdtProblem (167) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 135 ms] (168) CdtProblem (169) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 27 ms] (170) CdtProblem (171) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 183 ms] (172) CdtProblem (173) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (174) 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(p(0)) -> mark(0) active(p(s(X))) -> mark(X) active(leq(0, Y)) -> mark(true) active(leq(s(X), 0)) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(X1, X2) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(0) -> 0 encArg(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(p(0)) -> mark(0) active(p(s(X))) -> mark(X) active(leq(0, Y)) -> mark(true) active(leq(s(X), 0)) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(p(0)) -> mark(0) active(p(s(X))) -> mark(X) active(leq(0, Y)) -> mark(true) active(leq(s(X), 0)) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(p(0')) -> mark(0') active(p(s(X))) -> mark(X) active(leq(0', Y)) -> mark(true) active(leq(s(X), 0')) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0', s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Innermost TRS: Rules: active(p(0')) -> mark(0') active(p(s(X))) -> mark(X) active(leq(0', Y)) -> mark(true) active(leq(s(X), 0')) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0', s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(X1, X2) 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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Types: active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff 0' :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff true :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff false :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encArg :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_0 :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_true :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_false :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff hole_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff1_4 :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4 :: Nat -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff ---------------------------------------- (9) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: active, mark, leq, if, s, diff, p, encArg They will be analysed ascendingly in the following order: active = mark leq < active if < active s < active diff < active p < active active < encArg leq < mark if < mark s < mark diff < mark p < mark mark < encArg leq < encArg if < encArg s < encArg diff < encArg p < encArg ---------------------------------------- (10) Obligation: Innermost TRS: Rules: active(p(0')) -> mark(0') active(p(s(X))) -> mark(X) active(leq(0', Y)) -> mark(true) active(leq(s(X), 0')) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0', s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0') -> active(0') mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(X1, X2) 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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0' encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Types: active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff 0' :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff true :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff false :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encArg :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_active :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_p :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_0 :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_mark :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_s :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_leq :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_true :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_false :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_if :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_diff :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff hole_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff1_4 :: 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4 :: Nat -> 0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff Generator Equations: gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(0) <=> 0' gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(+(x, 1)) <=> cons_active(gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(x)) The following defined symbols remain to be analysed: leq, active, mark, if, s, diff, p, encArg They will be analysed ascendingly in the following order: active = mark leq < active if < active s < active diff < active p < active active < encArg leq < mark if < mark s < mark diff < mark p < mark mark < encArg leq < encArg if < encArg s < encArg diff < encArg p < encArg ---------------------------------------- (11) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(+(1, n4753_4))) -> *3_4, rt in Omega(0) Induction Base: encArg(gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(+(1, 0))) Induction Step: encArg(gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(+(1, +(n4753_4, 1)))) ->_R^Omega(0) active(encArg(gen_0':true:false:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff2_4(+(1, n4753_4)))) ->_IH active(*3_4) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (12) BOUNDS(1, INF) ---------------------------------------- (13) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (14) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(p(0)) -> mark(0) active(p(s(X))) -> mark(X) active(leq(0, Y)) -> mark(true) active(leq(s(X), 0)) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) Rewrite Strategy: INNERMOST ---------------------------------------- (15) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (16) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: active(p(0)) -> mark(0) active(p(s(X))) -> mark(X) active(leq(0, Y)) -> mark(true) active(leq(s(X), 0)) -> mark(false) active(leq(s(X), s(Y))) -> mark(leq(X, Y)) active(if(true, X, Y)) -> mark(X) active(if(false, X, Y)) -> mark(Y) active(diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(p(X)) -> active(p(mark(X))) mark(0) -> active(0) mark(s(X)) -> active(s(mark(X))) mark(leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) mark(true) -> active(true) mark(false) -> active(false) mark(if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) mark(diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(mark(X)) -> p(X) p(active(X)) -> p(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) leq(mark(X1), X2) -> leq(X1, X2) leq(X1, mark(X2)) -> leq(X1, X2) leq(active(X1), X2) -> leq(X1, X2) leq(X1, active(X2)) -> leq(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) diff(mark(X1), X2) -> diff(X1, X2) diff(X1, mark(X2)) -> diff(X1, X2) diff(active(X1), X2) -> diff(X1, X2) diff(X1, active(X2)) -> diff(X1, X2) 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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (17) NonCtorToCtorProof (UPPER BOUND(ID)) transformed non-ctor to ctor-system ---------------------------------------- (18) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: mark(0) -> active(0) mark(true) -> active(true) mark(false) -> active(false) p(c_mark(X)) -> p(X) leq(X1, c_active(X2)) -> leq(X1, X2) diff(X1, c_active(X2)) -> diff(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_p(0)) -> mark(0) active(c_p(c_s(X))) -> mark(X) active(c_if(true, X, Y)) -> mark(X) s(c_active(X)) -> s(X) if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) if(X1, X2, c_active(X3)) -> if(X1, X2, X3) if(X1, c_mark(X2), X3) -> if(X1, X2, X3) diff(X1, c_mark(X2)) -> diff(X1, X2) leq(c_active(X1), X2) -> leq(X1, X2) mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) p(c_active(X)) -> p(X) s(c_mark(X)) -> s(X) diff(c_active(X1), X2) -> diff(X1, X2) active(c_leq(c_s(X), c_s(Y))) -> mark(leq(X, Y)) mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) leq(X1, c_mark(X2)) -> leq(X1, X2) mark(c_p(X)) -> active(p(mark(X))) active(c_if(false, X, Y)) -> mark(Y) active(c_leq(0, Y)) -> mark(true) active(c_leq(c_s(X), 0)) -> mark(false) leq(c_mark(X1), X2) -> leq(X1, X2) if(c_active(X1), X2, X3) -> if(X1, X2, X3) diff(c_mark(X1), X2) -> diff(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_p(x_1)) -> p(encArg(x_1)) encArg(cons_s(x_1)) -> s(encArg(x_1)) encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) encode_active(x_1) -> active(encArg(x_1)) encode_p(x_1) -> p(encArg(x_1)) encode_0 -> 0 encode_mark(x_1) -> mark(encArg(x_1)) encode_s(x_1) -> s(encArg(x_1)) encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) s(x0) -> c_s(x0) active(x0) -> c_active(x0) p(x0) -> c_p(x0) diff(x0, x1) -> c_diff(x0, x1) if(x0, x1, x2) -> c_if(x0, x1, x2) leq(x0, x1) -> c_leq(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] p(c_mark(X)) -> p(X) [1] leq(X1, c_active(X2)) -> leq(X1, X2) [1] diff(X1, c_active(X2)) -> diff(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_p(0)) -> mark(0) [1] active(c_p(c_s(X))) -> mark(X) [1] active(c_if(true, X, Y)) -> mark(X) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) [1] mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] diff(X1, c_mark(X2)) -> diff(X1, X2) [1] leq(c_active(X1), X2) -> leq(X1, X2) [1] mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) [1] p(c_active(X)) -> p(X) [1] s(c_mark(X)) -> s(X) [1] diff(c_active(X1), X2) -> diff(X1, X2) [1] active(c_leq(c_s(X), c_s(Y))) -> mark(leq(X, Y)) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] leq(X1, c_mark(X2)) -> leq(X1, X2) [1] mark(c_p(X)) -> active(p(mark(X))) [1] active(c_if(false, X, Y)) -> mark(Y) [1] active(c_leq(0, Y)) -> mark(true) [1] active(c_leq(c_s(X), 0)) -> mark(false) [1] leq(c_mark(X1), X2) -> leq(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] diff(c_mark(X1), X2) -> diff(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_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] p(x0) -> c_p(x0) [0] diff(x0, x1) -> c_diff(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] leq(x0, x1) -> c_leq(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] p(c_mark(X)) -> p(X) [1] leq(X1, c_active(X2)) -> leq(X1, X2) [1] diff(X1, c_active(X2)) -> diff(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_p(0)) -> mark(0) [1] active(c_p(c_s(X))) -> mark(X) [1] active(c_if(true, X, Y)) -> mark(X) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) [1] mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] diff(X1, c_mark(X2)) -> diff(X1, X2) [1] leq(c_active(X1), X2) -> leq(X1, X2) [1] mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) [1] p(c_active(X)) -> p(X) [1] s(c_mark(X)) -> s(X) [1] diff(c_active(X1), X2) -> diff(X1, X2) [1] active(c_leq(c_s(X), c_s(Y))) -> mark(leq(X, Y)) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] leq(X1, c_mark(X2)) -> leq(X1, X2) [1] mark(c_p(X)) -> active(p(mark(X))) [1] active(c_if(false, X, Y)) -> mark(Y) [1] active(c_leq(0, Y)) -> mark(true) [1] active(c_leq(c_s(X), 0)) -> mark(false) [1] leq(c_mark(X1), X2) -> leq(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] diff(c_mark(X1), X2) -> diff(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_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] p(x0) -> c_p(x0) [0] diff(x0, x1) -> c_diff(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] leq(x0, x1) -> c_leq(x0, x1) [0] mark(x0) -> c_mark(x0) [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff 0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff c_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff cons_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff 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_p_1 encode_0 encode_mark_1 encode_s_1 encode_leq_2 encode_true encode_false encode_if_3 encode_diff_2 s_1 active_1 p_1 diff_2 if_3 leq_2 mark_1 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_p(v0) -> null_encode_p [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_leq(v0, v1) -> null_encode_leq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_diff(v0, v1) -> null_encode_diff [0] s(v0) -> null_s [0] active(v0) -> null_active [0] p(v0) -> null_p [0] diff(v0, v1) -> null_diff [0] if(v0, v1, v2) -> null_if [0] leq(v0, v1) -> null_leq [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_p, null_encode_0, null_encode_mark, null_encode_s, null_encode_leq, null_encode_true, null_encode_false, null_encode_if, null_encode_diff, null_s, null_active, null_p, null_diff, null_if, null_leq, 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] p(c_mark(X)) -> p(X) [1] leq(X1, c_active(X2)) -> leq(X1, X2) [1] diff(X1, c_active(X2)) -> diff(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_p(0)) -> mark(0) [1] active(c_p(c_s(X))) -> mark(X) [1] active(c_if(true, X, Y)) -> mark(X) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) [1] mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] diff(X1, c_mark(X2)) -> diff(X1, X2) [1] leq(c_active(X1), X2) -> leq(X1, X2) [1] mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) [1] p(c_active(X)) -> p(X) [1] s(c_mark(X)) -> s(X) [1] diff(c_active(X1), X2) -> diff(X1, X2) [1] active(c_leq(c_s(X), c_s(Y))) -> mark(leq(X, Y)) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] leq(X1, c_mark(X2)) -> leq(X1, X2) [1] mark(c_p(X)) -> active(p(mark(X))) [1] active(c_if(false, X, Y)) -> mark(Y) [1] active(c_leq(0, Y)) -> mark(true) [1] active(c_leq(c_s(X), 0)) -> mark(false) [1] leq(c_mark(X1), X2) -> leq(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] diff(c_mark(X1), X2) -> diff(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_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] p(x0) -> c_p(x0) [0] diff(x0, x1) -> c_diff(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] leq(x0, x1) -> c_leq(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_p(v0) -> null_encode_p [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_leq(v0, v1) -> null_encode_leq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_diff(v0, v1) -> null_encode_diff [0] s(v0) -> null_s [0] active(v0) -> null_active [0] p(v0) -> null_p [0] diff(v0, v1) -> null_diff [0] if(v0, v1, v2) -> null_if [0] leq(v0, v1) -> null_leq [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark 0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq: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] p(c_mark(X)) -> p(X) [1] leq(X1, c_active(X2)) -> leq(X1, X2) [1] diff(X1, c_active(X2)) -> diff(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_s(X'))) -> active(s(active(s(mark(X'))))) [2] mark(c_s(c_leq(X1', X2'))) -> active(s(active(leq(mark(X1'), mark(X2'))))) [2] mark(c_s(c_diff(X1'', X2''))) -> active(s(active(diff(mark(X1''), mark(X2''))))) [2] mark(c_s(c_if(X11, X21, X3'))) -> active(s(active(if(mark(X11), X21, X3')))) [2] mark(c_s(c_p(X''))) -> active(s(active(p(mark(X''))))) [2] mark(c_s(X)) -> active(s(c_mark(X))) [1] mark(c_s(X)) -> active(s(null_mark)) [1] active(c_p(0)) -> mark(0) [1] active(c_p(c_s(X))) -> mark(X) [1] active(c_if(true, X, Y)) -> mark(X) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) [1] mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] diff(X1, c_mark(X2)) -> diff(X1, X2) [1] leq(c_active(X1), X2) -> leq(X1, X2) [1] mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) [1] p(c_active(X)) -> p(X) [1] s(c_mark(X)) -> s(X) [1] diff(c_active(X1), X2) -> diff(X1, X2) [1] active(c_leq(c_s(X), c_s(c_active(X270)))) -> mark(leq(X, X270)) [2] active(c_leq(c_s(c_active(X173)), c_s(Y))) -> mark(leq(X173, Y)) [2] active(c_leq(c_s(X), c_s(c_mark(X271)))) -> mark(leq(X, X271)) [2] active(c_leq(c_s(c_mark(X174)), c_s(Y))) -> mark(leq(X174, Y)) [2] active(c_leq(c_s(X), c_s(Y))) -> mark(c_leq(X, Y)) [1] active(c_leq(c_s(X), c_s(Y))) -> mark(null_leq) [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_s(X75), X2, X3)) -> active(if(active(s(mark(X75))), X2, X3)) [2] mark(c_if(c_leq(X175, X272), X2, X3)) -> active(if(active(leq(mark(X175), mark(X272))), X2, X3)) [2] mark(c_if(c_diff(X176, X273), X2, X3)) -> active(if(active(diff(mark(X176), mark(X273))), X2, X3)) [2] mark(c_if(c_if(X177, X274, X327), X2, X3)) -> active(if(active(if(mark(X177), X274, X327)), X2, X3)) [2] mark(c_if(c_p(X76), X2, X3)) -> active(if(active(p(mark(X76))), 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] leq(X1, c_mark(X2)) -> leq(X1, X2) [1] mark(c_p(0)) -> active(p(active(0))) [2] mark(c_p(true)) -> active(p(active(true))) [2] mark(c_p(false)) -> active(p(active(false))) [2] mark(c_p(c_s(X77))) -> active(p(active(s(mark(X77))))) [2] mark(c_p(c_leq(X178, X275))) -> active(p(active(leq(mark(X178), mark(X275))))) [2] mark(c_p(c_diff(X179, X276))) -> active(p(active(diff(mark(X179), mark(X276))))) [2] mark(c_p(c_if(X180, X277, X328))) -> active(p(active(if(mark(X180), X277, X328)))) [2] mark(c_p(c_p(X78))) -> active(p(active(p(mark(X78))))) [2] mark(c_p(X)) -> active(p(c_mark(X))) [1] mark(c_p(X)) -> active(p(null_mark)) [1] active(c_if(false, X, Y)) -> mark(Y) [1] active(c_leq(0, Y)) -> mark(true) [1] active(c_leq(c_s(X), 0)) -> mark(false) [1] leq(c_mark(X1), X2) -> leq(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] diff(c_mark(X1), X2) -> diff(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_p(x_11))) -> active(p(encArg(x_11))) [0] encArg(cons_active(cons_s(x_12))) -> active(s(encArg(x_12))) [0] encArg(cons_active(cons_leq(x_13, x_2'))) -> active(leq(encArg(x_13), encArg(x_2'))) [0] encArg(cons_active(cons_if(x_14, x_2'', x_3'))) -> active(if(encArg(x_14), encArg(x_2''), encArg(x_3'))) [0] encArg(cons_active(cons_diff(x_15, x_21))) -> active(diff(encArg(x_15), encArg(x_21))) [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_p(x_18))) -> mark(p(encArg(x_18))) [0] encArg(cons_mark(cons_s(x_19))) -> mark(s(encArg(x_19))) [0] encArg(cons_mark(cons_leq(x_110, x_22))) -> mark(leq(encArg(x_110), encArg(x_22))) [0] encArg(cons_mark(cons_if(x_111, x_23, x_3''))) -> mark(if(encArg(x_111), encArg(x_23), encArg(x_3''))) [0] encArg(cons_mark(cons_diff(x_112, x_24))) -> mark(diff(encArg(x_112), encArg(x_24))) [0] encArg(cons_mark(x_1)) -> mark(null_encArg) [0] encArg(cons_p(0)) -> p(0) [0] encArg(cons_p(true)) -> p(true) [0] encArg(cons_p(false)) -> p(false) [0] encArg(cons_p(cons_active(x_113))) -> p(active(encArg(x_113))) [0] encArg(cons_p(cons_mark(x_114))) -> p(mark(encArg(x_114))) [0] encArg(cons_p(cons_p(x_115))) -> p(p(encArg(x_115))) [0] encArg(cons_p(cons_s(x_116))) -> p(s(encArg(x_116))) [0] encArg(cons_p(cons_leq(x_117, x_25))) -> p(leq(encArg(x_117), encArg(x_25))) [0] encArg(cons_p(cons_if(x_118, x_26, x_31))) -> p(if(encArg(x_118), encArg(x_26), encArg(x_31))) [0] encArg(cons_p(cons_diff(x_119, x_27))) -> p(diff(encArg(x_119), encArg(x_27))) [0] encArg(cons_p(x_1)) -> p(null_encArg) [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_120))) -> s(active(encArg(x_120))) [0] encArg(cons_s(cons_mark(x_121))) -> s(mark(encArg(x_121))) [0] encArg(cons_s(cons_p(x_122))) -> s(p(encArg(x_122))) [0] encArg(cons_s(cons_s(x_123))) -> s(s(encArg(x_123))) [0] encArg(cons_s(cons_leq(x_124, x_28))) -> s(leq(encArg(x_124), encArg(x_28))) [0] encArg(cons_s(cons_if(x_125, x_29, x_32))) -> s(if(encArg(x_125), encArg(x_29), encArg(x_32))) [0] encArg(cons_s(cons_diff(x_126, x_210))) -> s(diff(encArg(x_126), encArg(x_210))) [0] encArg(cons_s(x_1)) -> s(null_encArg) [0] encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) [0] encode_active(0) -> active(0) [0] encode_active(true) -> active(true) [0] encode_active(false) -> active(false) [0] encode_active(cons_active(x_11126)) -> active(active(encArg(x_11126))) [0] encode_active(cons_mark(x_11127)) -> active(mark(encArg(x_11127))) [0] encode_active(cons_p(x_11128)) -> active(p(encArg(x_11128))) [0] encode_active(cons_s(x_11129)) -> active(s(encArg(x_11129))) [0] encode_active(cons_leq(x_11130, x_2482)) -> active(leq(encArg(x_11130), encArg(x_2482))) [0] encode_active(cons_if(x_11131, x_2483, x_3160)) -> active(if(encArg(x_11131), encArg(x_2483), encArg(x_3160))) [0] encode_active(cons_diff(x_11132, x_2484)) -> active(diff(encArg(x_11132), encArg(x_2484))) [0] encode_active(x_1) -> active(null_encArg) [0] encode_p(0) -> p(0) [0] encode_p(true) -> p(true) [0] encode_p(false) -> p(false) [0] encode_p(cons_active(x_11133)) -> p(active(encArg(x_11133))) [0] encode_p(cons_mark(x_11134)) -> p(mark(encArg(x_11134))) [0] encode_p(cons_p(x_11135)) -> p(p(encArg(x_11135))) [0] encode_p(cons_s(x_11136)) -> p(s(encArg(x_11136))) [0] encode_p(cons_leq(x_11137, x_2485)) -> p(leq(encArg(x_11137), encArg(x_2485))) [0] encode_p(cons_if(x_11138, x_2486, x_3161)) -> p(if(encArg(x_11138), encArg(x_2486), encArg(x_3161))) [0] encode_p(cons_diff(x_11139, x_2487)) -> p(diff(encArg(x_11139), encArg(x_2487))) [0] encode_p(x_1) -> p(null_encArg) [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_11140)) -> mark(active(encArg(x_11140))) [0] encode_mark(cons_mark(x_11141)) -> mark(mark(encArg(x_11141))) [0] encode_mark(cons_p(x_11142)) -> mark(p(encArg(x_11142))) [0] encode_mark(cons_s(x_11143)) -> mark(s(encArg(x_11143))) [0] encode_mark(cons_leq(x_11144, x_2488)) -> mark(leq(encArg(x_11144), encArg(x_2488))) [0] encode_mark(cons_if(x_11145, x_2489, x_3162)) -> mark(if(encArg(x_11145), encArg(x_2489), encArg(x_3162))) [0] encode_mark(cons_diff(x_11146, x_2490)) -> mark(diff(encArg(x_11146), encArg(x_2490))) [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_11147)) -> s(active(encArg(x_11147))) [0] encode_s(cons_mark(x_11148)) -> s(mark(encArg(x_11148))) [0] encode_s(cons_p(x_11149)) -> s(p(encArg(x_11149))) [0] encode_s(cons_s(x_11150)) -> s(s(encArg(x_11150))) [0] encode_s(cons_leq(x_11151, x_2491)) -> s(leq(encArg(x_11151), encArg(x_2491))) [0] encode_s(cons_if(x_11152, x_2492, x_3163)) -> s(if(encArg(x_11152), encArg(x_2492), encArg(x_3163))) [0] encode_s(cons_diff(x_11153, x_2493)) -> s(diff(encArg(x_11153), encArg(x_2493))) [0] encode_s(x_1) -> s(null_encArg) [0] encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] p(x0) -> c_p(x0) [0] diff(x0, x1) -> c_diff(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] leq(x0, x1) -> c_leq(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_p(v0) -> null_encode_p [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_leq(v0, v1) -> null_encode_leq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_diff(v0, v1) -> null_encode_diff [0] s(v0) -> null_s [0] active(v0) -> null_active [0] p(v0) -> null_p [0] diff(v0, v1) -> null_diff [0] if(v0, v1, v2) -> null_if [0] leq(v0, v1) -> null_leq [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark 0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq: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_p => 0 null_encode_0 => 0 null_encode_mark => 0 null_encode_s => 0 null_encode_leq => 0 null_encode_true => 0 null_encode_false => 0 null_encode_if => 0 null_encode_diff => 0 null_s => 0 null_active => 0 null_p => 0 null_diff => 0 null_if => 0 null_leq => 0 null_mark => 0 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + (1 + X), X >= 0 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(leq(X, X270)) :|: X >= 0, z = 1 + (1 + X) + (1 + (1 + X270)), X270 >= 0 active(z) -{ 2 }-> mark(leq(X, X271)) :|: X271 >= 0, X >= 0, z = 1 + (1 + X) + (1 + (1 + X271)) active(z) -{ 2 }-> mark(leq(X173, Y)) :|: X173 >= 0, Y >= 0, z = 1 + (1 + (1 + X173)) + (1 + Y) active(z) -{ 2 }-> mark(leq(X174, Y)) :|: z = 1 + (1 + (1 + X174)) + (1 + Y), Y >= 0, X174 >= 0 active(z) -{ 1 }-> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) :|: Y >= 0, z = 1 + X + Y, X >= 0 active(z) -{ 1 }-> mark(2) :|: Y >= 0, z = 1 + 0 + Y active(z) -{ 1 }-> mark(1) :|: z = 1 + (1 + X) + 0, X >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 1 }-> mark(0) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (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 diff(z, z') -{ 1 }-> diff(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 diff(z, z') -{ 1 }-> diff(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 diff(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 diff(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 encArg(z) -{ 0 }-> s(s(encArg(x_123))) :|: x_123 >= 0, z = 1 + (1 + x_123) encArg(z) -{ 0 }-> s(p(encArg(x_122))) :|: x_122 >= 0, z = 1 + (1 + x_122) encArg(z) -{ 0 }-> s(mark(encArg(x_121))) :|: z = 1 + (1 + x_121), x_121 >= 0 encArg(z) -{ 0 }-> s(leq(encArg(x_124), encArg(x_28))) :|: x_124 >= 0, z = 1 + (1 + x_124 + x_28), x_28 >= 0 encArg(z) -{ 0 }-> s(if(encArg(x_125), encArg(x_29), encArg(x_32))) :|: x_32 >= 0, z = 1 + (1 + x_125 + x_29 + x_32), x_125 >= 0, x_29 >= 0 encArg(z) -{ 0 }-> s(diff(encArg(x_126), encArg(x_210))) :|: z = 1 + (1 + x_126 + x_210), x_126 >= 0, x_210 >= 0 encArg(z) -{ 0 }-> s(active(encArg(x_120))) :|: x_120 >= 0, z = 1 + (1 + x_120) 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 }-> p(s(encArg(x_116))) :|: z = 1 + (1 + x_116), x_116 >= 0 encArg(z) -{ 0 }-> p(p(encArg(x_115))) :|: z = 1 + (1 + x_115), x_115 >= 0 encArg(z) -{ 0 }-> p(mark(encArg(x_114))) :|: z = 1 + (1 + x_114), x_114 >= 0 encArg(z) -{ 0 }-> p(leq(encArg(x_117), encArg(x_25))) :|: x_117 >= 0, x_25 >= 0, z = 1 + (1 + x_117 + x_25) encArg(z) -{ 0 }-> p(if(encArg(x_118), encArg(x_26), encArg(x_31))) :|: z = 1 + (1 + x_118 + x_26 + x_31), x_26 >= 0, x_31 >= 0, x_118 >= 0 encArg(z) -{ 0 }-> p(diff(encArg(x_119), encArg(x_27))) :|: x_27 >= 0, z = 1 + (1 + x_119 + x_27), x_119 >= 0 encArg(z) -{ 0 }-> p(active(encArg(x_113))) :|: x_113 >= 0, z = 1 + (1 + x_113) encArg(z) -{ 0 }-> p(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> p(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> p(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> p(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> mark(p(encArg(x_18))) :|: z = 1 + (1 + x_18), x_18 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(x_17))) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> mark(leq(encArg(x_110), encArg(x_22))) :|: z = 1 + (1 + x_110 + x_22), x_110 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(if(encArg(x_111), encArg(x_23), encArg(x_3''))) :|: z = 1 + (1 + x_111 + x_23 + x_3''), x_23 >= 0, x_3'' >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(diff(encArg(x_112), encArg(x_24))) :|: z = 1 + (1 + x_112 + x_24), x_24 >= 0, x_112 >= 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 }-> leq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> diff(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(p(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> active(mark(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> active(leq(encArg(x_13), encArg(x_2'))) :|: x_2' >= 0, x_13 >= 0, z = 1 + (1 + x_13 + x_2') encArg(z) -{ 0 }-> active(if(encArg(x_14), encArg(x_2''), encArg(x_3'))) :|: x_14 >= 0, x_3' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3'), x_2'' >= 0 encArg(z) -{ 0 }-> active(diff(encArg(x_15), encArg(x_21))) :|: x_15 >= 0, z = 1 + (1 + x_15 + 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_11129))) :|: z = 1 + x_11129, x_11129 >= 0 encode_active(z) -{ 0 }-> active(p(encArg(x_11128))) :|: z = 1 + x_11128, x_11128 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(x_11127))) :|: x_11127 >= 0, z = 1 + x_11127 encode_active(z) -{ 0 }-> active(leq(encArg(x_11130), encArg(x_2482))) :|: z = 1 + x_11130 + x_2482, x_11130 >= 0, x_2482 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_11131), encArg(x_2483), encArg(x_3160))) :|: x_3160 >= 0, z = 1 + x_11131 + x_2483 + x_3160, x_11131 >= 0, x_2483 >= 0 encode_active(z) -{ 0 }-> active(diff(encArg(x_11132), encArg(x_2484))) :|: x_2484 >= 0, x_11132 >= 0, z = 1 + x_11132 + x_2484 encode_active(z) -{ 0 }-> active(active(encArg(x_11126))) :|: x_11126 >= 0, z = 1 + x_11126 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_diff(z, z') -{ 0 }-> diff(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_diff(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: 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_leq(z, z') -{ 0 }-> leq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_mark(z) -{ 0 }-> mark(s(encArg(x_11143))) :|: x_11143 >= 0, z = 1 + x_11143 encode_mark(z) -{ 0 }-> mark(p(encArg(x_11142))) :|: z = 1 + x_11142, x_11142 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(x_11141))) :|: z = 1 + x_11141, x_11141 >= 0 encode_mark(z) -{ 0 }-> mark(leq(encArg(x_11144), encArg(x_2488))) :|: z = 1 + x_11144 + x_2488, x_2488 >= 0, x_11144 >= 0 encode_mark(z) -{ 0 }-> mark(if(encArg(x_11145), encArg(x_2489), encArg(x_3162))) :|: z = 1 + x_11145 + x_2489 + x_3162, x_2489 >= 0, x_11145 >= 0, x_3162 >= 0 encode_mark(z) -{ 0 }-> mark(diff(encArg(x_11146), encArg(x_2490))) :|: z = 1 + x_11146 + x_2490, x_11146 >= 0, x_2490 >= 0 encode_mark(z) -{ 0 }-> mark(active(encArg(x_11140))) :|: z = 1 + x_11140, x_11140 >= 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) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 0 }-> p(s(encArg(x_11136))) :|: x_11136 >= 0, z = 1 + x_11136 encode_p(z) -{ 0 }-> p(p(encArg(x_11135))) :|: z = 1 + x_11135, x_11135 >= 0 encode_p(z) -{ 0 }-> p(mark(encArg(x_11134))) :|: x_11134 >= 0, z = 1 + x_11134 encode_p(z) -{ 0 }-> p(leq(encArg(x_11137), encArg(x_2485))) :|: x_11137 >= 0, x_2485 >= 0, z = 1 + x_11137 + x_2485 encode_p(z) -{ 0 }-> p(if(encArg(x_11138), encArg(x_2486), encArg(x_3161))) :|: z = 1 + x_11138 + x_2486 + x_3161, x_11138 >= 0, x_2486 >= 0, x_3161 >= 0 encode_p(z) -{ 0 }-> p(diff(encArg(x_11139), encArg(x_2487))) :|: x_11139 >= 0, x_2487 >= 0, z = 1 + x_11139 + x_2487 encode_p(z) -{ 0 }-> p(active(encArg(x_11133))) :|: x_11133 >= 0, z = 1 + x_11133 encode_p(z) -{ 0 }-> p(2) :|: z = 2 encode_p(z) -{ 0 }-> p(1) :|: z = 1 encode_p(z) -{ 0 }-> p(0) :|: z = 0 encode_p(z) -{ 0 }-> p(0) :|: x_1 >= 0, z = x_1 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> s(s(encArg(x_11150))) :|: x_11150 >= 0, z = 1 + x_11150 encode_s(z) -{ 0 }-> s(p(encArg(x_11149))) :|: x_11149 >= 0, z = 1 + x_11149 encode_s(z) -{ 0 }-> s(mark(encArg(x_11148))) :|: x_11148 >= 0, z = 1 + x_11148 encode_s(z) -{ 0 }-> s(leq(encArg(x_11151), encArg(x_2491))) :|: x_2491 >= 0, z = 1 + x_11151 + x_2491, x_11151 >= 0 encode_s(z) -{ 0 }-> s(if(encArg(x_11152), encArg(x_2492), encArg(x_3163))) :|: x_11152 >= 0, z = 1 + x_11152 + x_2492 + x_3163, x_3163 >= 0, x_2492 >= 0 encode_s(z) -{ 0 }-> s(diff(encArg(x_11153), encArg(x_2493))) :|: x_11153 >= 0, z = 1 + x_11153 + x_2493, x_2493 >= 0 encode_s(z) -{ 0 }-> s(active(encArg(x_11147))) :|: x_11147 >= 0, z = 1 + x_11147 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 :|: 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 leq(z, z') -{ 1 }-> leq(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 leq(z, z') -{ 1 }-> leq(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 leq(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 mark(z) -{ 2 }-> active(s(active(s(mark(X'))))) :|: X' >= 0, z = 1 + (1 + X') mark(z) -{ 2 }-> active(s(active(p(mark(X''))))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> active(s(active(leq(mark(X1'), mark(X2'))))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(if(mark(X11), X21, X3')))) :|: X3' >= 0, X11 >= 0, X21 >= 0, z = 1 + (1 + X11 + X21 + X3') mark(z) -{ 2 }-> active(s(active(diff(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 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(p(active(s(mark(X77))))) :|: X77 >= 0, z = 1 + (1 + X77) mark(z) -{ 2 }-> active(p(active(p(mark(X78))))) :|: z = 1 + (1 + X78), X78 >= 0 mark(z) -{ 2 }-> active(p(active(leq(mark(X178), mark(X275))))) :|: z = 1 + (1 + X178 + X275), X275 >= 0, X178 >= 0 mark(z) -{ 2 }-> active(p(active(if(mark(X180), X277, X328)))) :|: z = 1 + (1 + X180 + X277 + X328), X328 >= 0, X180 >= 0, X277 >= 0 mark(z) -{ 2 }-> active(p(active(diff(mark(X179), mark(X276))))) :|: X276 >= 0, z = 1 + (1 + X179 + X276), X179 >= 0 mark(z) -{ 2 }-> active(p(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(p(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(p(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(p(0)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(p(1 + X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(leq(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(if(active(s(mark(X75))), X2, X3)) :|: X75 >= 0, X3 >= 0, z = 1 + (1 + X75) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(p(mark(X76))), X2, X3)) :|: z = 1 + (1 + X76) + X2 + X3, X3 >= 0, X76 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(leq(mark(X175), mark(X272))), X2, X3)) :|: X272 >= 0, z = 1 + (1 + X175 + X272) + X2 + X3, X175 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(if(mark(X177), X274, X327)), X2, X3)) :|: X177 >= 0, z = 1 + (1 + X177 + X274 + X327) + X2 + X3, X274 >= 0, X3 >= 0, X327 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(diff(mark(X176), mark(X273))), X2, X3)) :|: X176 >= 0, z = 1 + (1 + X176 + X273) + X2 + X3, X273 >= 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) -{ 1 }-> active(diff(mark(X1), mark(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 p(z) -{ 1 }-> p(X) :|: z = 1 + X, X >= 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 p(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 s(z) -{ 1 }-> s(X) :|: z = 1 + X, X >= 0 s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 s(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 ---------------------------------------- (29) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: 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(leq(X, X270)) :|: X >= 0, z = 1 + (1 + X) + (1 + (1 + X270)), X270 >= 0 active(z) -{ 2 }-> mark(leq(X, X271)) :|: X271 >= 0, X >= 0, z = 1 + (1 + X) + (1 + (1 + X271)) active(z) -{ 2 }-> mark(leq(X173, Y)) :|: X173 >= 0, Y >= 0, z = 1 + (1 + (1 + X173)) + (1 + Y) active(z) -{ 2 }-> mark(leq(X174, Y)) :|: z = 1 + (1 + (1 + X174)) + (1 + Y), Y >= 0, X174 >= 0 active(z) -{ 1 }-> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) :|: Y >= 0, z = 1 + X + Y, X >= 0 active(z) -{ 1 }-> mark(2) :|: z - 1 >= 0 active(z) -{ 1 }-> mark(1) :|: z - 2 >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 1 }-> mark(0) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(z - 2) :|: 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 diff(z, z') -{ 1 }-> diff(z, z' - 1) :|: z >= 0, z' - 1 >= 0 diff(z, z') -{ 1 }-> diff(z - 1, z') :|: z - 1 >= 0, z' >= 0 diff(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 diff(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(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> s(leq(encArg(x_124), encArg(x_28))) :|: x_124 >= 0, z = 1 + (1 + x_124 + x_28), x_28 >= 0 encArg(z) -{ 0 }-> s(if(encArg(x_125), encArg(x_29), encArg(x_32))) :|: x_32 >= 0, z = 1 + (1 + x_125 + x_29 + x_32), x_125 >= 0, x_29 >= 0 encArg(z) -{ 0 }-> s(diff(encArg(x_126), encArg(x_210))) :|: z = 1 + (1 + x_126 + x_210), x_126 >= 0, x_210 >= 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 }-> p(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(leq(encArg(x_117), encArg(x_25))) :|: x_117 >= 0, x_25 >= 0, z = 1 + (1 + x_117 + x_25) encArg(z) -{ 0 }-> p(if(encArg(x_118), encArg(x_26), encArg(x_31))) :|: z = 1 + (1 + x_118 + x_26 + x_31), x_26 >= 0, x_31 >= 0, x_118 >= 0 encArg(z) -{ 0 }-> p(diff(encArg(x_119), encArg(x_27))) :|: x_27 >= 0, z = 1 + (1 + x_119 + x_27), x_119 >= 0 encArg(z) -{ 0 }-> p(active(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> p(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> p(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> p(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> mark(s(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> mark(leq(encArg(x_110), encArg(x_22))) :|: z = 1 + (1 + x_110 + x_22), x_110 >= 0, x_22 >= 0 encArg(z) -{ 0 }-> mark(if(encArg(x_111), encArg(x_23), encArg(x_3''))) :|: z = 1 + (1 + x_111 + x_23 + x_3''), x_23 >= 0, x_3'' >= 0, x_111 >= 0 encArg(z) -{ 0 }-> mark(diff(encArg(x_112), encArg(x_24))) :|: z = 1 + (1 + x_112 + x_24), x_24 >= 0, x_112 >= 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 }-> leq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> diff(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(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(mark(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> active(leq(encArg(x_13), encArg(x_2'))) :|: x_2' >= 0, x_13 >= 0, z = 1 + (1 + x_13 + x_2') encArg(z) -{ 0 }-> active(if(encArg(x_14), encArg(x_2''), encArg(x_3'))) :|: x_14 >= 0, x_3' >= 0, z = 1 + (1 + x_14 + x_2'' + x_3'), x_2'' >= 0 encArg(z) -{ 0 }-> active(diff(encArg(x_15), encArg(x_21))) :|: x_15 >= 0, z = 1 + (1 + x_15 + 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(p(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_active(z) -{ 0 }-> active(leq(encArg(x_11130), encArg(x_2482))) :|: z = 1 + x_11130 + x_2482, x_11130 >= 0, x_2482 >= 0 encode_active(z) -{ 0 }-> active(if(encArg(x_11131), encArg(x_2483), encArg(x_3160))) :|: x_3160 >= 0, z = 1 + x_11131 + x_2483 + x_3160, x_11131 >= 0, x_2483 >= 0 encode_active(z) -{ 0 }-> active(diff(encArg(x_11132), encArg(x_2484))) :|: x_2484 >= 0, x_11132 >= 0, z = 1 + x_11132 + x_2484 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_diff(z, z') -{ 0 }-> diff(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_diff(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 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_leq(z, z') -{ 0 }-> leq(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_mark(z) -{ 0 }-> mark(s(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(p(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_mark(z) -{ 0 }-> mark(leq(encArg(x_11144), encArg(x_2488))) :|: z = 1 + x_11144 + x_2488, x_2488 >= 0, x_11144 >= 0 encode_mark(z) -{ 0 }-> mark(if(encArg(x_11145), encArg(x_2489), encArg(x_3162))) :|: z = 1 + x_11145 + x_2489 + x_3162, x_2489 >= 0, x_11145 >= 0, x_3162 >= 0 encode_mark(z) -{ 0 }-> mark(diff(encArg(x_11146), encArg(x_2490))) :|: z = 1 + x_11146 + x_2490, x_11146 >= 0, x_2490 >= 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_p(z) -{ 0 }-> p(s(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(leq(encArg(x_11137), encArg(x_2485))) :|: x_11137 >= 0, x_2485 >= 0, z = 1 + x_11137 + x_2485 encode_p(z) -{ 0 }-> p(if(encArg(x_11138), encArg(x_2486), encArg(x_3161))) :|: z = 1 + x_11138 + x_2486 + x_3161, x_11138 >= 0, x_2486 >= 0, x_3161 >= 0 encode_p(z) -{ 0 }-> p(diff(encArg(x_11139), encArg(x_2487))) :|: x_11139 >= 0, x_2487 >= 0, z = 1 + x_11139 + x_2487 encode_p(z) -{ 0 }-> p(active(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(2) :|: z = 2 encode_p(z) -{ 0 }-> p(1) :|: z = 1 encode_p(z) -{ 0 }-> p(0) :|: z = 0 encode_p(z) -{ 0 }-> p(0) :|: z >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> s(s(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(p(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(mark(encArg(z - 1))) :|: z - 1 >= 0 encode_s(z) -{ 0 }-> s(leq(encArg(x_11151), encArg(x_2491))) :|: x_2491 >= 0, z = 1 + x_11151 + x_2491, x_11151 >= 0 encode_s(z) -{ 0 }-> s(if(encArg(x_11152), encArg(x_2492), encArg(x_3163))) :|: x_11152 >= 0, z = 1 + x_11152 + x_2492 + x_3163, x_3163 >= 0, x_2492 >= 0 encode_s(z) -{ 0 }-> s(diff(encArg(x_11153), encArg(x_2493))) :|: x_11153 >= 0, z = 1 + x_11153 + x_2493, x_2493 >= 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 :|: 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 leq(z, z') -{ 1 }-> leq(z, z' - 1) :|: z >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z') :|: z - 1 >= 0, z' >= 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 leq(z, z') -{ 0 }-> 1 + z + z' :|: z >= 0, z' >= 0 mark(z) -{ 2 }-> active(s(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(p(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(s(active(leq(mark(X1'), mark(X2'))))) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0 mark(z) -{ 2 }-> active(s(active(if(mark(X11), X21, X3')))) :|: X3' >= 0, X11 >= 0, X21 >= 0, z = 1 + (1 + X11 + X21 + X3') mark(z) -{ 2 }-> active(s(active(diff(mark(X1''), mark(X2''))))) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2''), X2'' >= 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(p(active(s(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(p(active(p(mark(z - 2))))) :|: z - 2 >= 0 mark(z) -{ 2 }-> active(p(active(leq(mark(X178), mark(X275))))) :|: z = 1 + (1 + X178 + X275), X275 >= 0, X178 >= 0 mark(z) -{ 2 }-> active(p(active(if(mark(X180), X277, X328)))) :|: z = 1 + (1 + X180 + X277 + X328), X328 >= 0, X180 >= 0, X277 >= 0 mark(z) -{ 2 }-> active(p(active(diff(mark(X179), mark(X276))))) :|: X276 >= 0, z = 1 + (1 + X179 + X276), X179 >= 0 mark(z) -{ 2 }-> active(p(active(2))) :|: z = 1 + 2 mark(z) -{ 2 }-> active(p(active(1))) :|: z = 1 + 1 mark(z) -{ 2 }-> active(p(active(0))) :|: z = 1 + 0 mark(z) -{ 1 }-> active(p(0)) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(p(1 + (z - 1))) :|: z - 1 >= 0 mark(z) -{ 1 }-> active(leq(mark(X1), mark(X2))) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> active(if(active(s(mark(X75))), X2, X3)) :|: X75 >= 0, X3 >= 0, z = 1 + (1 + X75) + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> active(if(active(p(mark(X76))), X2, X3)) :|: z = 1 + (1 + X76) + X2 + X3, X3 >= 0, X76 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(leq(mark(X175), mark(X272))), X2, X3)) :|: X272 >= 0, z = 1 + (1 + X175 + X272) + X2 + X3, X175 >= 0, X3 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(if(mark(X177), X274, X327)), X2, X3)) :|: X177 >= 0, z = 1 + (1 + X177 + X274 + X327) + X2 + X3, X274 >= 0, X3 >= 0, X327 >= 0, X2 >= 0 mark(z) -{ 2 }-> active(if(active(diff(mark(X176), mark(X273))), X2, X3)) :|: X176 >= 0, z = 1 + (1 + X176 + X273) + X2 + X3, X273 >= 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) -{ 1 }-> active(diff(mark(X1), mark(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 :|: z >= 0 mark(z) -{ 0 }-> 1 + z :|: z >= 0 p(z) -{ 1 }-> p(z - 1) :|: z - 1 >= 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 0 }-> 1 + z :|: z >= 0 s(z) -{ 1 }-> s(z - 1) :|: z - 1 >= 0 s(z) -{ 0 }-> 0 :|: z >= 0 s(z) -{ 0 }-> 1 + z :|: z >= 0 ---------------------------------------- (31) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_p(v0) -> null_encode_p [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_leq(v0, v1) -> null_encode_leq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_diff(v0, v1) -> null_encode_diff [0] s(v0) -> null_s [0] active(v0) -> null_active [0] p(v0) -> null_p [0] diff(v0, v1) -> null_diff [0] if(v0, v1, v2) -> null_if [0] leq(v0, v1) -> null_leq [0] mark(v0) -> null_mark [0] And the following fresh constants: null_encArg, null_encode_active, null_encode_p, null_encode_0, null_encode_mark, null_encode_s, null_encode_leq, null_encode_true, null_encode_false, null_encode_if, null_encode_diff, null_s, null_active, null_p, null_diff, null_if, null_leq, 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] p(c_mark(X)) -> p(X) [1] leq(X1, c_active(X2)) -> leq(X1, X2) [1] diff(X1, c_active(X2)) -> diff(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_p(0)) -> mark(0) [1] active(c_p(c_s(X))) -> mark(X) [1] active(c_if(true, X, Y)) -> mark(X) [1] s(c_active(X)) -> s(X) [1] if(X1, X2, c_mark(X3)) -> if(X1, X2, X3) [1] active(c_diff(X, Y)) -> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) [1] mark(c_leq(X1, X2)) -> active(leq(mark(X1), mark(X2))) [1] if(X1, X2, c_active(X3)) -> if(X1, X2, X3) [1] if(X1, c_mark(X2), X3) -> if(X1, X2, X3) [1] diff(X1, c_mark(X2)) -> diff(X1, X2) [1] leq(c_active(X1), X2) -> leq(X1, X2) [1] mark(c_diff(X1, X2)) -> active(diff(mark(X1), mark(X2))) [1] p(c_active(X)) -> p(X) [1] s(c_mark(X)) -> s(X) [1] diff(c_active(X1), X2) -> diff(X1, X2) [1] active(c_leq(c_s(X), c_s(Y))) -> mark(leq(X, Y)) [1] mark(c_if(X1, X2, X3)) -> active(if(mark(X1), X2, X3)) [1] leq(X1, c_mark(X2)) -> leq(X1, X2) [1] mark(c_p(X)) -> active(p(mark(X))) [1] active(c_if(false, X, Y)) -> mark(Y) [1] active(c_leq(0, Y)) -> mark(true) [1] active(c_leq(c_s(X), 0)) -> mark(false) [1] leq(c_mark(X1), X2) -> leq(X1, X2) [1] if(c_active(X1), X2, X3) -> if(X1, X2, X3) [1] diff(c_mark(X1), X2) -> diff(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_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_s(x_1)) -> s(encArg(x_1)) [0] encArg(cons_leq(x_1, x_2)) -> leq(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(cons_diff(x_1, x_2)) -> diff(encArg(x_1), encArg(x_2)) [0] encode_active(x_1) -> active(encArg(x_1)) [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_0 -> 0 [0] encode_mark(x_1) -> mark(encArg(x_1)) [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_leq(x_1, x_2) -> leq(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_diff(x_1, x_2) -> diff(encArg(x_1), encArg(x_2)) [0] s(x0) -> c_s(x0) [0] active(x0) -> c_active(x0) [0] p(x0) -> c_p(x0) [0] diff(x0, x1) -> c_diff(x0, x1) [0] if(x0, x1, x2) -> c_if(x0, x1, x2) [0] leq(x0, x1) -> c_leq(x0, x1) [0] mark(x0) -> c_mark(x0) [0] encArg(v0) -> null_encArg [0] encode_active(v0) -> null_encode_active [0] encode_p(v0) -> null_encode_p [0] encode_0 -> null_encode_0 [0] encode_mark(v0) -> null_encode_mark [0] encode_s(v0) -> null_encode_s [0] encode_leq(v0, v1) -> null_encode_leq [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_if(v0, v1, v2) -> null_encode_if [0] encode_diff(v0, v1) -> null_encode_diff [0] s(v0) -> null_s [0] active(v0) -> null_active [0] p(v0) -> null_p [0] diff(v0, v1) -> null_diff [0] if(v0, v1, v2) -> null_if [0] leq(v0, v1) -> null_leq [0] mark(v0) -> null_mark [0] The TRS has the following type information: mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark 0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark c_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark cons_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark -> 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encArg :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_0 :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_true :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_false :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_encode_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_s :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_active :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_p :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_diff :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_if :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_leq :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq:null_mark null_mark :: 0:true:false:c_mark:c_active:c_s:c_p:c_if:c_diff:c_leq:cons_active:cons_mark:cons_p:cons_s:cons_leq:cons_if:cons_diff:null_encArg:null_encode_active:null_encode_p:null_encode_0:null_encode_mark:null_encode_s:null_encode_leq:null_encode_true:null_encode_false:null_encode_if:null_encode_diff:null_s:null_active:null_p:null_diff:null_if:null_leq: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_p => 0 null_encode_0 => 0 null_encode_mark => 0 null_encode_s => 0 null_encode_leq => 0 null_encode_true => 0 null_encode_false => 0 null_encode_if => 0 null_encode_diff => 0 null_s => 0 null_active => 0 null_p => 0 null_diff => 0 null_if => 0 null_leq => 0 null_mark => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: active(z) -{ 1 }-> mark(X) :|: z = 1 + (1 + X), X >= 0 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(leq(X, Y)) :|: Y >= 0, X >= 0, z = 1 + (1 + X) + (1 + Y) active(z) -{ 1 }-> mark(if(leq(X, Y), 0, s(diff(p(X), Y)))) :|: Y >= 0, z = 1 + X + Y, X >= 0 active(z) -{ 1 }-> mark(2) :|: Y >= 0, z = 1 + 0 + Y active(z) -{ 1 }-> mark(1) :|: z = 1 + (1 + X) + 0, X >= 0 active(z) -{ 1 }-> mark(0) :|: z = 1 + 0 active(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 active(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 diff(z, z') -{ 1 }-> diff(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 diff(z, z') -{ 1 }-> diff(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 diff(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 diff(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 }-> p(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> mark(encArg(x_1)) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> leq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 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 }-> diff(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_diff(z, z') -{ 0 }-> diff(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_diff(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: 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_leq(z, z') -{ 0 }-> leq(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_mark(z) -{ 0 }-> mark(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 0 }-> p(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> s(encArg(x_1)) :|: x_1 >= 0, z = x_1 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, z = 1 + X1, X3 >= 0, X2 >= 0, z' = X2, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, z' = 1 + X2, X2 >= 0, z = X1, z'' = X3 if(z, z', z'') -{ 1 }-> if(X1, X2, X3) :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = 1 + X3 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 0 }-> 1 + x0 + x1 + x2 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1, z'' = x2, x2 >= 0 leq(z, z') -{ 1 }-> leq(X1, X2) :|: X1 >= 0, z' = 1 + X2, X2 >= 0, z = X1 leq(z, z') -{ 1 }-> leq(X1, X2) :|: X1 >= 0, z = 1 + X1, X2 >= 0, z' = X2 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 leq(z, z') -{ 0 }-> 1 + x0 + x1 :|: z = x0, x0 >= 0, x1 >= 0, z' = x1 mark(z) -{ 1 }-> active(s(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(p(mark(X))) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> active(leq(mark(X1), mark(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(diff(mark(X1), mark(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 p(z) -{ 1 }-> p(X) :|: z = 1 + X, X >= 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 p(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 s(z) -{ 1 }-> s(X) :|: z = 1 + X, X >= 0 s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 s(z) -{ 0 }-> 1 + x0 :|: z = x0, x0 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: encArg(0) -> 0 encArg(true) -> true encArg(false) -> false encArg(cons_active(z0)) -> active(encArg(z0)) encArg(cons_mark(z0)) -> mark(encArg(z0)) encArg(cons_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) 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_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_P(z0) -> c11(P(encArg(z0)), ENCARG(z0)) ENCODE_0 -> c12 ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_LEQ(z0, z1) -> c15(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_TRUE -> c16 ENCODE_FALSE -> c17 ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_DIFF(z0, z1) -> c19(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), IF(leq(z0, z1), 0, s(diff(p(z0), z1))), LEQ(z0, z1), S(diff(p(z0), z1)), DIFF(p(z0), z1), P(z0)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(0) -> c29(ACTIVE(0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(true) -> c32(ACTIVE(true)) MARK(false) -> c33(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), IF(leq(z0, z1), 0, s(diff(p(z0), z1))), LEQ(z0, z1), S(diff(p(z0), z1)), DIFF(p(z0), z1), P(z0)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(0) -> c29(ACTIVE(0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(true) -> c32(ACTIVE(true)) MARK(false) -> c33(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2, encArg_1, encode_active_1, encode_p_1, encode_0, encode_mark_1, encode_s_1, encode_leq_2, encode_true, encode_false, encode_if_3, encode_diff_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_0, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_TRUE, ENCODE_FALSE, ENCODE_IF_3, ENCODE_DIFF_2, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2 Compound Symbols: c, c1, c2, c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c10_2, c11_2, c12, c13_2, c14_2, c15_3, c16, c17, c18_4, c19_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c27_6, c28_3, c29_1, c30_3, c31_4, c32_1, c33_1, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1 ---------------------------------------- (37) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: ENCODE_FALSE -> c17 ENCODE_0 -> c12 ENCARG(true) -> c1 ENCARG(0) -> c ENCARG(false) -> c2 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_P(z0) -> c11(P(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_LEQ(z0, z1) -> c15(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_DIFF(z0, z1) -> c19(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), IF(leq(z0, z1), 0, s(diff(p(z0), z1))), LEQ(z0, z1), S(diff(p(z0), z1)), DIFF(p(z0), z1), P(z0)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(0) -> c29(ACTIVE(0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(true) -> c32(ACTIVE(true)) MARK(false) -> c33(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), IF(leq(z0, z1), 0, s(diff(p(z0), z1))), LEQ(z0, z1), S(diff(p(z0), z1)), DIFF(p(z0), z1), P(z0)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(0) -> c29(ACTIVE(0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(true) -> c32(ACTIVE(true)) MARK(false) -> c33(ACTIVE(false)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) K tuples:none Defined Rule Symbols: active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2, encArg_1, encode_active_1, encode_p_1, encode_0, encode_mark_1, encode_s_1, encode_leq_2, encode_true, encode_false, encode_if_3, encode_diff_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2 Compound Symbols: c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c10_2, c11_2, c13_2, c14_2, c15_3, c18_4, c19_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c27_6, c28_3, c29_1, c30_3, c31_4, c32_1, c33_1, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 5 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_ACTIVE(z0) -> c10(ACTIVE(encArg(z0)), ENCARG(z0)) ENCODE_P(z0) -> c11(P(encArg(z0)), ENCARG(z0)) ENCODE_MARK(z0) -> c13(MARK(encArg(z0)), ENCARG(z0)) ENCODE_S(z0) -> c14(S(encArg(z0)), ENCARG(z0)) ENCODE_LEQ(z0, z1) -> c15(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCODE_IF(z0, z1, z2) -> c18(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCODE_DIFF(z0, z1) -> c19(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2, encArg_1, encode_active_1, encode_p_1, encode_0, encode_mark_1, encode_s_1, encode_leq_2, encode_true, encode_false, encode_if_3, encode_diff_2 Defined Pair Symbols: ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2 Compound Symbols: c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c10_2, c11_2, c13_2, c14_2, c15_3, c18_4, c19_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33 ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_P(z0) -> c(ENCARG(z0)) 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_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_LEQ(z0, z1) -> c(ENCARG(z0)) ENCODE_LEQ(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)) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) ENCODE_DIFF(z0, z1) -> c(ENCARG(z0)) ENCODE_DIFF(z0, z1) -> c(ENCARG(z1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2, encArg_1, encode_active_1, encode_p_1, encode_0, encode_mark_1, encode_s_1, encode_leq_2, encode_true, encode_false, encode_if_3, encode_diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1 ---------------------------------------- (43) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 11 leading nodes: ENCODE_ACTIVE(z0) -> c(ENCARG(z0)) ENCODE_P(z0) -> c(ENCARG(z0)) ENCODE_MARK(z0) -> c(ENCARG(z0)) ENCODE_S(z0) -> c(ENCARG(z0)) ENCODE_LEQ(z0, z1) -> c(ENCARG(z0)) ENCODE_LEQ(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)) ENCODE_DIFF(z0, z1) -> c(ENCARG(z0)) ENCODE_DIFF(z0, z1) -> c(ENCARG(z1)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2, encArg_1, encode_active_1, encode_p_1, encode_0, encode_mark_1, encode_s_1, encode_leq_2, encode_true, encode_false, encode_if_3, encode_diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1 ---------------------------------------- (45) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: encode_active(z0) -> active(encArg(z0)) encode_p(z0) -> p(encArg(z0)) encode_0 -> 0 encode_mark(z0) -> mark(encArg(z0)) encode_s(z0) -> s(encArg(z0)) encode_leq(z0, z1) -> leq(encArg(z0), encArg(z1)) encode_true -> true encode_false -> false encode_if(z0, z1, z2) -> if(encArg(z0), encArg(z1), encArg(z2)) encode_diff(z0, z1) -> diff(encArg(z0), encArg(z1)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_active(z0)) -> c3(ACTIVE(encArg(z0)), ENCARG(z0)) ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c3_2, c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, 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(0)) -> c3(ACTIVE(0), ENCARG(0)) ENCARG(cons_active(true)) -> c3(ACTIVE(true), ENCARG(true)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_mark(z0)) -> c4(MARK(encArg(z0)), ENCARG(z0)) ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c4_2, c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c5_2, c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(z0)) -> c5(P(encArg(z0)), ENCARG(z0)) by ENCARG(cons_p(0)) -> c5(P(0), ENCARG(0)) ENCARG(cons_p(true)) -> c5(P(true), ENCARG(true)) ENCARG(cons_p(false)) -> c5(P(false), ENCARG(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(0)) -> c5(P(0), ENCARG(0)) ENCARG(cons_p(true)) -> c5(P(true), ENCARG(true)) ENCARG(cons_p(false)) -> c5(P(false), ENCARG(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2 ---------------------------------------- (57) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_p(true)) -> c5(P(true), ENCARG(true)) ENCARG(cons_p(0)) -> c5(P(0), ENCARG(0)) ENCARG(cons_p(false)) -> c5(P(false), ENCARG(false)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_s(z0)) -> c6(S(encArg(z0)), ENCARG(z0)) ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c6_2, c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c7_3, c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2 ---------------------------------------- (63) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_leq(z0, z1)) -> c7(LEQ(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c8_4, c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_if(z0, z1, z2)) -> c8(IF(encArg(z0), encArg(z1), encArg(z2)), ENCARG(z0), ENCARG(z1), ENCARG(z2)) by ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1), ENCARG(0)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1), ENCARG(true)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1), ENCARG(false)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(true), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(false), ENCARG(x2)) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(0), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(true), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(false), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4 ---------------------------------------- (69) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 9 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ENCARG_1, ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c9_3, c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3 ---------------------------------------- (71) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_diff(z0, z1)) -> c9(DIFF(encArg(z0), encArg(z1)), ENCARG(z0), ENCARG(z1)) by ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0), ENCARG(0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0), ENCARG(true)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0), ENCARG(false)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(0), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(true), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(false), ENCARG(x1)) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3 ---------------------------------------- (73) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c28_3, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2 ---------------------------------------- (75) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(p(z0)) -> c28(ACTIVE(p(mark(z0))), P(mark(z0)), MARK(z0)) by MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c30_3, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(s(z0)) -> c30(ACTIVE(s(mark(z0))), S(mark(z0)), MARK(z0)) by MARK(s(z0)) -> c30(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(ACTIVE(s(z0)), S(mark(z0)), MARK(z0)) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c31_4, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(leq(z0, z1)) -> c31(ACTIVE(leq(mark(z0), mark(z1))), LEQ(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c34_3, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4 ---------------------------------------- (83) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(mark(z0), z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) by MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, MARK_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c35_4, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(diff(z0, z1)) -> c35(ACTIVE(diff(mark(z0), mark(z1))), DIFF(mark(z0), mark(z1)), MARK(z0), MARK(z1)) by MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_ACTIVE(z0) -> c(ACTIVE(encArg(z0))) ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (87) 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_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) 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_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (89) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_ACTIVE(0) -> c(ACTIVE(0)) ENCODE_ACTIVE(true) -> c(ACTIVE(true)) ENCODE_ACTIVE(false) -> c(ACTIVE(false)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_P(z0) -> c(P(encArg(z0))) ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_P(z0) -> c(P(encArg(z0))) by ENCODE_P(0) -> c(P(0)) ENCODE_P(true) -> c(P(true)) ENCODE_P(false) -> c(P(false)) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(0) -> c(P(0)) ENCODE_P(true) -> c(P(true)) ENCODE_P(false) -> c(P(false)) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (93) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCODE_P(0) -> c(P(0)) ENCODE_P(false) -> c(P(false)) ENCODE_P(true) -> c(P(true)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_MARK(z0) -> c(MARK(encArg(z0))) ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (95) 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_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) 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_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (97) CdtLeafRemovalProof (ComplexityIfPolyImplication) Removed 3 leading nodes: ENCODE_MARK(0) -> c(MARK(0)) ENCODE_MARK(true) -> c(MARK(true)) ENCODE_MARK(false) -> c(MARK(false)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_S(z0) -> c(S(encArg(z0))) ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (99) 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_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) 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_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (101) 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)) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_LEQ(z0, z1) -> c(LEQ(encArg(z0), encArg(z1))) by ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_IF(z0, z1, z2) -> c(IF(encArg(z0), encArg(z1), encArg(z2))) ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_IF_3, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (105) 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCODE_DIFF_2, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c_1, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCODE_DIFF(z0, z1) -> c(DIFF(encArg(z0), encArg(z1))) by ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 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_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1 ---------------------------------------- (109) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1 ---------------------------------------- (111) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_active(cons_active(false))) -> c3(ACTIVE(active(false)), ENCARG(cons_active(false))) 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))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_mark(z0))) -> c3(ACTIVE(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_active(cons_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1 ---------------------------------------- (113) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1 ---------------------------------------- (115) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_p(z0))) -> c3(ACTIVE(p(encArg(z0))), ENCARG(cons_p(z0))) by ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0)), ENCARG(cons_p(0))) ENCARG(cons_active(cons_p(true))) -> c3(ACTIVE(p(true)), ENCARG(cons_p(true))) ENCARG(cons_active(cons_p(false))) -> c3(ACTIVE(p(false)), ENCARG(cons_p(false))) ENCARG(cons_active(cons_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(0))) -> c3(ACTIVE(p(0)), ENCARG(cons_p(0))) ENCARG(cons_active(cons_p(true))) -> c3(ACTIVE(p(true)), ENCARG(cons_p(true))) ENCARG(cons_active(cons_p(false))) -> c3(ACTIVE(p(false)), ENCARG(cons_p(false))) ENCARG(cons_active(cons_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1 ---------------------------------------- (119) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: ENCARG(cons_active(cons_p(false))) -> c3(ACTIVE(p(false)), ENCARG(cons_p(false))) ENCARG(cons_active(cons_p(true))) -> c3(ACTIVE(p(true)), ENCARG(cons_p(true))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(0))) -> c3(ACTIVE(p(0)), ENCARG(cons_p(0))) ENCARG(cons_active(cons_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1 ---------------------------------------- (121) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_s(z0))) -> c3(ACTIVE(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (123) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (125) 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(false))) -> c3(ACTIVE(s(false)), ENCARG(cons_s(false))) ENCARG(cons_active(cons_s(0))) -> c3(ACTIVE(s(0)), ENCARG(cons_s(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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_active(cons_leq(z0, z1))) -> c3(ACTIVE(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) by ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 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_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (129) 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (131) 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (133) 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))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_mark(z0))) -> c4(MARK(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (135) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1 ---------------------------------------- (137) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(cons_p(z0))) -> c5(P(p(encArg(z0))), ENCARG(cons_p(z0))) by ENCARG(cons_p(cons_p(0))) -> c5(P(p(0)), ENCARG(cons_p(0))) ENCARG(cons_p(cons_p(true))) -> c5(P(p(true)), ENCARG(cons_p(true))) ENCARG(cons_p(cons_p(false))) -> c5(P(p(false)), ENCARG(cons_p(false))) ENCARG(cons_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(0))) -> c5(P(p(0)), ENCARG(cons_p(0))) ENCARG(cons_p(cons_p(true))) -> c5(P(p(true)), ENCARG(cons_p(true))) ENCARG(cons_p(cons_p(false))) -> c5(P(p(false)), ENCARG(cons_p(false))) ENCARG(cons_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (141) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_p(cons_p(0))) -> c5(P(p(0)), ENCARG(cons_p(0))) ENCARG(cons_p(cons_p(true))) -> c5(P(p(true)), ENCARG(cons_p(true))) ENCARG(cons_p(cons_p(false))) -> c5(P(p(false)), ENCARG(cons_p(false))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(cons_s(z0))) -> c5(P(s(encArg(z0))), ENCARG(cons_s(z0))) by ENCARG(cons_p(cons_s(0))) -> c5(P(s(0)), ENCARG(cons_s(0))) ENCARG(cons_p(cons_s(true))) -> c5(P(s(true)), ENCARG(cons_s(true))) ENCARG(cons_p(cons_s(false))) -> c5(P(s(false)), ENCARG(cons_s(false))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(0))) -> c5(P(s(0)), ENCARG(cons_s(0))) ENCARG(cons_p(cons_s(true))) -> c5(P(s(true)), ENCARG(cons_s(true))) ENCARG(cons_p(cons_s(false))) -> c5(P(s(false)), ENCARG(cons_s(false))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (145) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_p(cons_s(false))) -> c5(P(s(false)), ENCARG(cons_s(false))) ENCARG(cons_p(cons_s(true))) -> c5(P(s(true)), ENCARG(cons_s(true))) ENCARG(cons_p(cons_s(0))) -> c5(P(s(0)), ENCARG(cons_s(0))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (147) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(cons_leq(z0, z1))) -> c5(P(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) by ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (149) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(cons_if(z0, z1, z2))) -> c5(P(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (151) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_p(cons_diff(z0, z1))) -> c5(P(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) by ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (153) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(cons_p(z0))) -> c6(S(p(encArg(z0))), ENCARG(cons_p(z0))) by ENCARG(cons_s(cons_p(0))) -> c6(S(p(0)), ENCARG(cons_p(0))) ENCARG(cons_s(cons_p(true))) -> c6(S(p(true)), ENCARG(cons_p(true))) ENCARG(cons_s(cons_p(false))) -> c6(S(p(false)), ENCARG(cons_p(false))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(0))) -> c6(S(p(0)), ENCARG(cons_p(0))) ENCARG(cons_s(cons_p(true))) -> c6(S(p(true)), ENCARG(cons_p(true))) ENCARG(cons_s(cons_p(false))) -> c6(S(p(false)), ENCARG(cons_p(false))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (155) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_s(cons_p(0))) -> c6(S(p(0)), ENCARG(cons_p(0))) ENCARG(cons_s(cons_p(true))) -> c6(S(p(true)), ENCARG(cons_p(true))) ENCARG(cons_s(cons_p(false))) -> c6(S(p(false)), ENCARG(cons_p(false))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (157) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(cons_s(z0))) -> c6(S(s(encArg(z0))), ENCARG(cons_s(z0))) by ENCARG(cons_s(cons_s(0))) -> c6(S(s(0)), ENCARG(cons_s(0))) ENCARG(cons_s(cons_s(true))) -> c6(S(s(true)), ENCARG(cons_s(true))) ENCARG(cons_s(cons_s(false))) -> c6(S(s(false)), ENCARG(cons_s(false))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(0))) -> c6(S(s(0)), ENCARG(cons_s(0))) ENCARG(cons_s(cons_s(true))) -> c6(S(s(true)), ENCARG(cons_s(true))) ENCARG(cons_s(cons_s(false))) -> c6(S(s(false)), ENCARG(cons_s(false))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (159) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: ENCARG(cons_s(cons_s(false))) -> c6(S(s(false)), ENCARG(cons_s(false))) ENCARG(cons_s(cons_s(0))) -> c6(S(s(0)), ENCARG(cons_s(0))) ENCARG(cons_s(cons_s(true))) -> c6(S(s(true)), ENCARG(cons_s(true))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (161) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(cons_leq(z0, z1))) -> c6(S(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(z0, z1))) by ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (163) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(cons_if(z0, z1, z2))) -> c6(S(if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(cons_if(z0, z1, z2))) by ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (165) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_s(cons_diff(z0, z1))) -> c6(S(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) by ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ---------------------------------------- (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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (167) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_leq(x0, cons_p(z0))) -> c7(LEQ(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) by ENCARG(cons_leq(x0, cons_p(0))) -> c7(LEQ(encArg(x0), p(0)), ENCARG(x0), ENCARG(cons_p(0))) ENCARG(cons_leq(x0, cons_p(true))) -> c7(LEQ(encArg(x0), p(true)), ENCARG(x0), ENCARG(cons_p(true))) ENCARG(cons_leq(x0, cons_p(false))) -> c7(LEQ(encArg(x0), p(false)), ENCARG(x0), ENCARG(cons_p(false))) ENCARG(cons_leq(x0, cons_p(cons_active(z0)))) -> c7(LEQ(encArg(x0), p(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_leq(x0, cons_p(cons_mark(z0)))) -> c7(LEQ(encArg(x0), p(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_p(cons_p(z0)))) -> c7(LEQ(encArg(x0), p(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_leq(x0, cons_p(cons_s(z0)))) -> c7(LEQ(encArg(x0), p(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_leq(x0, cons_p(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), p(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_p(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_p(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), p(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_leq(0, cons_p(x1))) -> c7(LEQ(0, p(encArg(x1))), ENCARG(0), ENCARG(cons_p(x1))) ENCARG(cons_leq(true, cons_p(x1))) -> c7(LEQ(true, p(encArg(x1))), ENCARG(true), ENCARG(cons_p(x1))) ENCARG(cons_leq(false, cons_p(x1))) -> c7(LEQ(false, p(encArg(x1))), ENCARG(false), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_active(z0), cons_p(x1))) -> c7(LEQ(active(encArg(z0)), p(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_mark(z0), cons_p(x1))) -> c7(LEQ(mark(encArg(z0)), p(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_p(z0), cons_p(x1))) -> c7(LEQ(p(encArg(z0)), p(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_s(z0), cons_p(x1))) -> c7(LEQ(s(encArg(z0)), p(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_p(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_p(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), p(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_p(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_p(x1))) ---------------------------------------- (168) 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_leq(x0, cons_p(0))) -> c7(LEQ(encArg(x0), p(0)), ENCARG(x0), ENCARG(cons_p(0))) ENCARG(cons_leq(x0, cons_p(true))) -> c7(LEQ(encArg(x0), p(true)), ENCARG(x0), ENCARG(cons_p(true))) ENCARG(cons_leq(x0, cons_p(false))) -> c7(LEQ(encArg(x0), p(false)), ENCARG(x0), ENCARG(cons_p(false))) ENCARG(cons_leq(x0, cons_p(cons_active(z0)))) -> c7(LEQ(encArg(x0), p(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_leq(x0, cons_p(cons_mark(z0)))) -> c7(LEQ(encArg(x0), p(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_p(cons_p(z0)))) -> c7(LEQ(encArg(x0), p(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_leq(x0, cons_p(cons_s(z0)))) -> c7(LEQ(encArg(x0), p(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_leq(x0, cons_p(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), p(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_p(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_p(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), p(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_leq(0, cons_p(x1))) -> c7(LEQ(0, p(encArg(x1))), ENCARG(0), ENCARG(cons_p(x1))) ENCARG(cons_leq(true, cons_p(x1))) -> c7(LEQ(true, p(encArg(x1))), ENCARG(true), ENCARG(cons_p(x1))) ENCARG(cons_leq(false, cons_p(x1))) -> c7(LEQ(false, p(encArg(x1))), ENCARG(false), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_active(z0), cons_p(x1))) -> c7(LEQ(active(encArg(z0)), p(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_mark(z0), cons_p(x1))) -> c7(LEQ(mark(encArg(z0)), p(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_p(z0), cons_p(x1))) -> c7(LEQ(p(encArg(z0)), p(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_s(z0), cons_p(x1))) -> c7(LEQ(s(encArg(z0)), p(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_p(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_p(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), p(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_p(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_p(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (169) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (170) 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_leq(x0, cons_p(cons_active(z0)))) -> c7(LEQ(encArg(x0), p(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_leq(x0, cons_p(cons_mark(z0)))) -> c7(LEQ(encArg(x0), p(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_p(cons_p(z0)))) -> c7(LEQ(encArg(x0), p(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_leq(x0, cons_p(cons_s(z0)))) -> c7(LEQ(encArg(x0), p(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_leq(x0, cons_p(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), p(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_p(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_p(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), p(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_leq(cons_active(z0), cons_p(x1))) -> c7(LEQ(active(encArg(z0)), p(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_mark(z0), cons_p(x1))) -> c7(LEQ(mark(encArg(z0)), p(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_p(z0), cons_p(x1))) -> c7(LEQ(p(encArg(z0)), p(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_s(z0), cons_p(x1))) -> c7(LEQ(s(encArg(z0)), p(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_p(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_p(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), p(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_p(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(x0, cons_p(0))) -> c7(LEQ(encArg(x0), p(0)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(true))) -> c7(LEQ(encArg(x0), p(true)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(false))) -> c7(LEQ(encArg(x0), p(false)), ENCARG(x0)) ENCARG(cons_leq(0, cons_p(x1))) -> c7(LEQ(0, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(true, cons_p(x1))) -> c7(LEQ(true, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(false, cons_p(x1))) -> c7(LEQ(false, p(encArg(x1))), ENCARG(cons_p(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (171) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace ENCARG(cons_leq(x0, cons_s(z0))) -> c7(LEQ(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) by ENCARG(cons_leq(x0, cons_s(0))) -> c7(LEQ(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_leq(x0, cons_s(true))) -> c7(LEQ(encArg(x0), s(true)), ENCARG(x0), ENCARG(cons_s(true))) ENCARG(cons_leq(x0, cons_s(false))) -> c7(LEQ(encArg(x0), s(false)), ENCARG(x0), ENCARG(cons_s(false))) ENCARG(cons_leq(x0, cons_s(cons_active(z0)))) -> c7(LEQ(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_leq(x0, cons_s(cons_mark(z0)))) -> c7(LEQ(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_s(cons_p(z0)))) -> c7(LEQ(encArg(x0), s(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_leq(x0, cons_s(cons_s(z0)))) -> c7(LEQ(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_leq(x0, cons_s(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), s(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_s(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_s(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), s(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_leq(0, cons_s(x1))) -> c7(LEQ(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_leq(true, cons_s(x1))) -> c7(LEQ(true, s(encArg(x1))), ENCARG(true), ENCARG(cons_s(x1))) ENCARG(cons_leq(false, cons_s(x1))) -> c7(LEQ(false, s(encArg(x1))), ENCARG(false), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_active(z0), cons_s(x1))) -> c7(LEQ(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_mark(z0), cons_s(x1))) -> c7(LEQ(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_p(z0), cons_s(x1))) -> c7(LEQ(p(encArg(z0)), s(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_s(z0), cons_s(x1))) -> c7(LEQ(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_s(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_s(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_s(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_s(x1))) ---------------------------------------- (172) 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_leq(x0, cons_p(cons_active(z0)))) -> c7(LEQ(encArg(x0), p(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_leq(x0, cons_p(cons_mark(z0)))) -> c7(LEQ(encArg(x0), p(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_p(cons_p(z0)))) -> c7(LEQ(encArg(x0), p(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_leq(x0, cons_p(cons_s(z0)))) -> c7(LEQ(encArg(x0), p(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_leq(x0, cons_p(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), p(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_p(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_p(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), p(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_leq(cons_active(z0), cons_p(x1))) -> c7(LEQ(active(encArg(z0)), p(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_mark(z0), cons_p(x1))) -> c7(LEQ(mark(encArg(z0)), p(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_p(z0), cons_p(x1))) -> c7(LEQ(p(encArg(z0)), p(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_s(z0), cons_p(x1))) -> c7(LEQ(s(encArg(z0)), p(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_p(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_p(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), p(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_p(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(x0, cons_p(0))) -> c7(LEQ(encArg(x0), p(0)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(true))) -> c7(LEQ(encArg(x0), p(true)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(false))) -> c7(LEQ(encArg(x0), p(false)), ENCARG(x0)) ENCARG(cons_leq(0, cons_p(x1))) -> c7(LEQ(0, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(true, cons_p(x1))) -> c7(LEQ(true, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(false, cons_p(x1))) -> c7(LEQ(false, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(x0, cons_s(0))) -> c7(LEQ(encArg(x0), s(0)), ENCARG(x0), ENCARG(cons_s(0))) ENCARG(cons_leq(x0, cons_s(true))) -> c7(LEQ(encArg(x0), s(true)), ENCARG(x0), ENCARG(cons_s(true))) ENCARG(cons_leq(x0, cons_s(false))) -> c7(LEQ(encArg(x0), s(false)), ENCARG(x0), ENCARG(cons_s(false))) ENCARG(cons_leq(x0, cons_s(cons_active(z0)))) -> c7(LEQ(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_leq(x0, cons_s(cons_mark(z0)))) -> c7(LEQ(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_s(cons_p(z0)))) -> c7(LEQ(encArg(x0), s(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_leq(x0, cons_s(cons_s(z0)))) -> c7(LEQ(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_leq(x0, cons_s(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), s(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_s(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_s(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), s(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_leq(0, cons_s(x1))) -> c7(LEQ(0, s(encArg(x1))), ENCARG(0), ENCARG(cons_s(x1))) ENCARG(cons_leq(true, cons_s(x1))) -> c7(LEQ(true, s(encArg(x1))), ENCARG(true), ENCARG(cons_s(x1))) ENCARG(cons_leq(false, cons_s(x1))) -> c7(LEQ(false, s(encArg(x1))), ENCARG(false), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_active(z0), cons_s(x1))) -> c7(LEQ(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_mark(z0), cons_s(x1))) -> c7(LEQ(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_p(z0), cons_s(x1))) -> c7(LEQ(p(encArg(z0)), s(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_s(z0), cons_s(x1))) -> c7(LEQ(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_s(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_s(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_s(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_s(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1 ---------------------------------------- (173) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing tuple parts ---------------------------------------- (174) 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_p(z0)) -> p(encArg(z0)) encArg(cons_s(z0)) -> s(encArg(z0)) encArg(cons_leq(z0, z1)) -> leq(encArg(z0), encArg(z1)) encArg(cons_if(z0, z1, z2)) -> if(encArg(z0), encArg(z1), encArg(z2)) encArg(cons_diff(z0, z1)) -> diff(encArg(z0), encArg(z1)) active(p(0)) -> mark(0) active(p(s(z0))) -> mark(z0) active(leq(0, z0)) -> mark(true) active(leq(s(z0), 0)) -> mark(false) active(leq(s(z0), s(z1))) -> mark(leq(z0, z1)) active(if(true, z0, z1)) -> mark(z0) active(if(false, z0, z1)) -> mark(z1) active(diff(z0, z1)) -> mark(if(leq(z0, z1), 0, s(diff(p(z0), z1)))) mark(p(z0)) -> active(p(mark(z0))) mark(0) -> active(0) mark(s(z0)) -> active(s(mark(z0))) mark(leq(z0, z1)) -> active(leq(mark(z0), mark(z1))) mark(true) -> active(true) mark(false) -> active(false) mark(if(z0, z1, z2)) -> active(if(mark(z0), z1, z2)) mark(diff(z0, z1)) -> active(diff(mark(z0), mark(z1))) p(mark(z0)) -> p(z0) p(active(z0)) -> p(z0) s(mark(z0)) -> s(z0) s(active(z0)) -> s(z0) leq(mark(z0), z1) -> leq(z0, z1) leq(z0, mark(z1)) -> leq(z0, z1) leq(active(z0), z1) -> leq(z0, z1) leq(z0, active(z1)) -> leq(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) diff(mark(z0), z1) -> diff(z0, z1) diff(z0, mark(z1)) -> diff(z0, z1) diff(active(z0), z1) -> diff(z0, z1) diff(z0, active(z1)) -> diff(z0, z1) Tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 ENCARG(cons_active(cons_diff(z0, z1))) -> c3(ACTIVE(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(cons_p(z0))) -> c4(MARK(p(encArg(z0))), ENCARG(cons_p(z0))) ENCARG(cons_mark(cons_s(z0))) -> c4(MARK(s(encArg(z0))), ENCARG(cons_s(z0))) ENCARG(cons_mark(cons_leq(z0, z1))) -> c4(MARK(leq(encArg(z0), encArg(z1))), ENCARG(cons_leq(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(cons_diff(z0, z1))) -> c4(MARK(diff(encArg(z0), encArg(z1))), ENCARG(cons_diff(z0, z1))) ENCARG(cons_mark(0)) -> c4(MARK(0)) ENCARG(cons_mark(true)) -> c4(MARK(true)) ENCARG(cons_mark(false)) -> c4(MARK(false)) ENCARG(cons_p(cons_active(z0))) -> c5(P(active(encArg(z0))), ENCARG(cons_active(z0))) ENCARG(cons_p(cons_mark(z0))) -> c5(P(mark(encArg(z0))), ENCARG(cons_mark(z0))) 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_leq(x0, cons_active(z0))) -> c7(LEQ(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_leq(x0, cons_mark(z0))) -> c7(LEQ(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_leq(x0, cons_leq(z0, z1))) -> c7(LEQ(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_leq(x0, cons_if(z0, z1, z2))) -> c7(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_leq(x0, cons_diff(z0, z1))) -> c7(LEQ(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_leq(cons_active(z0), x1)) -> c7(LEQ(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_mark(z0), x1)) -> c7(LEQ(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_p(z0), x1)) -> c7(LEQ(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_s(z0), x1)) -> c7(LEQ(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_leq(cons_leq(z0, z1), x1)) -> c7(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(cons_if(z0, z1, z2), x1)) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_leq(cons_diff(z0, z1), x1)) -> c7(LEQ(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_leq(x0, 0)) -> c7(LEQ(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_leq(x0, true)) -> c7(LEQ(encArg(x0), true), ENCARG(x0)) ENCARG(cons_leq(x0, false)) -> c7(LEQ(encArg(x0), false), ENCARG(x0)) ENCARG(cons_leq(0, x1)) -> c7(LEQ(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(true, x1)) -> c7(LEQ(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_leq(false, x1)) -> c7(LEQ(false, encArg(x1)), ENCARG(x1)) ENCARG(cons_if(x0, x1, cons_active(z0))) -> c8(IF(encArg(x0), encArg(x1), active(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_active(z0))) ENCARG(cons_if(x0, x1, cons_mark(z0))) -> c8(IF(encArg(x0), encArg(x1), mark(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_mark(z0))) ENCARG(cons_if(x0, x1, cons_p(z0))) -> c8(IF(encArg(x0), encArg(x1), p(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_p(z0))) ENCARG(cons_if(x0, x1, cons_s(z0))) -> c8(IF(encArg(x0), encArg(x1), s(encArg(z0))), ENCARG(x0), ENCARG(x1), ENCARG(cons_s(z0))) ENCARG(cons_if(x0, x1, cons_leq(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_leq(z0, z1))) ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2))) -> c8(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(x1), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_if(x0, x1, cons_diff(z0, z1))) -> c8(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(x1), ENCARG(cons_diff(z0, z1))) ENCARG(cons_if(x0, cons_active(z0), x2)) -> c8(IF(encArg(x0), active(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_active(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_mark(z0), x2)) -> c8(IF(encArg(x0), mark(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_mark(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_p(z0), x2)) -> c8(IF(encArg(x0), p(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_p(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_s(z0), x2)) -> c8(IF(encArg(x0), s(encArg(z0)), encArg(x2)), ENCARG(x0), ENCARG(cons_s(z0)), ENCARG(x2)) ENCARG(cons_if(x0, cons_leq(z0, z1), x2)) -> c8(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_leq(z0, z1)), ENCARG(x2)) ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2)) -> c8(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2)), ENCARG(x0), ENCARG(cons_if(z0, z1, z2)), ENCARG(x2)) ENCARG(cons_if(x0, cons_diff(z0, z1), x2)) -> c8(IF(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2)), ENCARG(x0), ENCARG(cons_diff(z0, z1)), ENCARG(x2)) ENCARG(cons_if(cons_active(z0), x1, x2)) -> c8(IF(active(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_active(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_mark(z0), x1, x2)) -> c8(IF(mark(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_mark(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_p(z0), x1, x2)) -> c8(IF(p(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_p(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_s(z0), x1, x2)) -> c8(IF(s(encArg(z0)), encArg(x1), encArg(x2)), ENCARG(cons_s(z0)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_leq(z0, z1), x1, x2)) -> c8(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_leq(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2)) -> c8(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(cons_diff(z0, z1), x1, x2)) -> c8(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2)), ENCARG(cons_diff(z0, z1)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(x0, x1, 0)) -> c8(IF(encArg(x0), encArg(x1), 0), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, true)) -> c8(IF(encArg(x0), encArg(x1), true), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, x1, false)) -> c8(IF(encArg(x0), encArg(x1), false), ENCARG(x0), ENCARG(x1)) ENCARG(cons_if(x0, 0, x2)) -> c8(IF(encArg(x0), 0, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, true, x2)) -> c8(IF(encArg(x0), true, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(x0, false, x2)) -> c8(IF(encArg(x0), false, encArg(x2)), ENCARG(x0), ENCARG(x2)) ENCARG(cons_if(0, x1, x2)) -> c8(IF(0, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(true, x1, x2)) -> c8(IF(true, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_if(false, x1, x2)) -> c8(IF(false, encArg(x1), encArg(x2)), ENCARG(x1), ENCARG(x2)) ENCARG(cons_diff(x0, cons_active(z0))) -> c9(DIFF(encArg(x0), active(encArg(z0))), ENCARG(x0), ENCARG(cons_active(z0))) ENCARG(cons_diff(x0, cons_mark(z0))) -> c9(DIFF(encArg(x0), mark(encArg(z0))), ENCARG(x0), ENCARG(cons_mark(z0))) ENCARG(cons_diff(x0, cons_p(z0))) -> c9(DIFF(encArg(x0), p(encArg(z0))), ENCARG(x0), ENCARG(cons_p(z0))) ENCARG(cons_diff(x0, cons_s(z0))) -> c9(DIFF(encArg(x0), s(encArg(z0))), ENCARG(x0), ENCARG(cons_s(z0))) ENCARG(cons_diff(x0, cons_leq(z0, z1))) -> c9(DIFF(encArg(x0), leq(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_leq(z0, z1))) ENCARG(cons_diff(x0, cons_if(z0, z1, z2))) -> c9(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2))), ENCARG(x0), ENCARG(cons_if(z0, z1, z2))) ENCARG(cons_diff(x0, cons_diff(z0, z1))) -> c9(DIFF(encArg(x0), diff(encArg(z0), encArg(z1))), ENCARG(x0), ENCARG(cons_diff(z0, z1))) ENCARG(cons_diff(cons_active(z0), x1)) -> c9(DIFF(active(encArg(z0)), encArg(x1)), ENCARG(cons_active(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_mark(z0), x1)) -> c9(DIFF(mark(encArg(z0)), encArg(x1)), ENCARG(cons_mark(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_p(z0), x1)) -> c9(DIFF(p(encArg(z0)), encArg(x1)), ENCARG(cons_p(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_s(z0), x1)) -> c9(DIFF(s(encArg(z0)), encArg(x1)), ENCARG(cons_s(z0)), ENCARG(x1)) ENCARG(cons_diff(cons_leq(z0, z1), x1)) -> c9(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_leq(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(cons_if(z0, z1, z2), x1)) -> c9(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1)), ENCARG(cons_if(z0, z1, z2)), ENCARG(x1)) ENCARG(cons_diff(cons_diff(z0, z1), x1)) -> c9(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1)), ENCARG(cons_diff(z0, z1)), ENCARG(x1)) ENCARG(cons_diff(x0, 0)) -> c9(DIFF(encArg(x0), 0), ENCARG(x0)) ENCARG(cons_diff(x0, true)) -> c9(DIFF(encArg(x0), true), ENCARG(x0)) ENCARG(cons_diff(x0, false)) -> c9(DIFF(encArg(x0), false), ENCARG(x0)) ENCARG(cons_diff(0, x1)) -> c9(DIFF(0, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(true, x1)) -> c9(DIFF(true, encArg(x1)), ENCARG(x1)) ENCARG(cons_diff(false, x1)) -> c9(DIFF(false, encArg(x1)), ENCARG(x1)) MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) ENCODE_ACTIVE(cons_active(z0)) -> c(ACTIVE(active(encArg(z0)))) ENCODE_ACTIVE(cons_mark(z0)) -> c(ACTIVE(mark(encArg(z0)))) ENCODE_ACTIVE(cons_p(z0)) -> c(ACTIVE(p(encArg(z0)))) ENCODE_ACTIVE(cons_s(z0)) -> c(ACTIVE(s(encArg(z0)))) ENCODE_ACTIVE(cons_leq(z0, z1)) -> c(ACTIVE(leq(encArg(z0), encArg(z1)))) ENCODE_ACTIVE(cons_if(z0, z1, z2)) -> c(ACTIVE(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_ACTIVE(cons_diff(z0, z1)) -> c(ACTIVE(diff(encArg(z0), encArg(z1)))) ENCODE_P(cons_active(z0)) -> c(P(active(encArg(z0)))) ENCODE_P(cons_mark(z0)) -> c(P(mark(encArg(z0)))) ENCODE_P(cons_p(z0)) -> c(P(p(encArg(z0)))) ENCODE_P(cons_s(z0)) -> c(P(s(encArg(z0)))) ENCODE_P(cons_leq(z0, z1)) -> c(P(leq(encArg(z0), encArg(z1)))) ENCODE_P(cons_if(z0, z1, z2)) -> c(P(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_P(cons_diff(z0, z1)) -> c(P(diff(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_active(z0)) -> c(MARK(active(encArg(z0)))) ENCODE_MARK(cons_mark(z0)) -> c(MARK(mark(encArg(z0)))) ENCODE_MARK(cons_p(z0)) -> c(MARK(p(encArg(z0)))) ENCODE_MARK(cons_s(z0)) -> c(MARK(s(encArg(z0)))) ENCODE_MARK(cons_leq(z0, z1)) -> c(MARK(leq(encArg(z0), encArg(z1)))) ENCODE_MARK(cons_if(z0, z1, z2)) -> c(MARK(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_MARK(cons_diff(z0, z1)) -> c(MARK(diff(encArg(z0), encArg(z1)))) ENCODE_S(cons_active(z0)) -> c(S(active(encArg(z0)))) ENCODE_S(cons_mark(z0)) -> c(S(mark(encArg(z0)))) ENCODE_S(cons_p(z0)) -> c(S(p(encArg(z0)))) ENCODE_S(cons_s(z0)) -> c(S(s(encArg(z0)))) ENCODE_S(cons_leq(z0, z1)) -> c(S(leq(encArg(z0), encArg(z1)))) ENCODE_S(cons_if(z0, z1, z2)) -> c(S(if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_S(cons_diff(z0, z1)) -> c(S(diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, 0) -> c(LEQ(encArg(x0), 0)) ENCODE_LEQ(x0, true) -> c(LEQ(encArg(x0), true)) ENCODE_LEQ(x0, false) -> c(LEQ(encArg(x0), false)) ENCODE_LEQ(x0, cons_active(z0)) -> c(LEQ(encArg(x0), active(encArg(z0)))) ENCODE_LEQ(x0, cons_mark(z0)) -> c(LEQ(encArg(x0), mark(encArg(z0)))) ENCODE_LEQ(x0, cons_p(z0)) -> c(LEQ(encArg(x0), p(encArg(z0)))) ENCODE_LEQ(x0, cons_s(z0)) -> c(LEQ(encArg(x0), s(encArg(z0)))) ENCODE_LEQ(x0, cons_leq(z0, z1)) -> c(LEQ(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_LEQ(x0, cons_if(z0, z1, z2)) -> c(LEQ(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_LEQ(x0, cons_diff(z0, z1)) -> c(LEQ(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_LEQ(0, x1) -> c(LEQ(0, encArg(x1))) ENCODE_LEQ(true, x1) -> c(LEQ(true, encArg(x1))) ENCODE_LEQ(false, x1) -> c(LEQ(false, encArg(x1))) ENCODE_LEQ(cons_active(z0), x1) -> c(LEQ(active(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_mark(z0), x1) -> c(LEQ(mark(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_p(z0), x1) -> c(LEQ(p(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_s(z0), x1) -> c(LEQ(s(encArg(z0)), encArg(x1))) ENCODE_LEQ(cons_leq(z0, z1), x1) -> c(LEQ(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_LEQ(cons_if(z0, z1, z2), x1) -> c(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_LEQ(cons_diff(z0, z1), x1) -> c(LEQ(diff(encArg(z0), encArg(z1)), 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_p(z0)) -> c(IF(encArg(x0), encArg(x1), p(encArg(z0)))) ENCODE_IF(x0, x1, cons_s(z0)) -> c(IF(encArg(x0), encArg(x1), s(encArg(z0)))) ENCODE_IF(x0, x1, cons_leq(z0, z1)) -> c(IF(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))) ENCODE_IF(x0, x1, cons_if(z0, z1, z2)) -> c(IF(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_IF(x0, x1, cons_diff(z0, z1)) -> c(IF(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))) 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_p(z0), x2) -> c(IF(encArg(x0), p(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_s(z0), x2) -> c(IF(encArg(x0), s(encArg(z0)), encArg(x2))) ENCODE_IF(x0, cons_leq(z0, z1), x2) -> c(IF(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))) ENCODE_IF(x0, cons_if(z0, z1, z2), x2) -> c(IF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))) ENCODE_IF(x0, cons_diff(z0, z1), x2) -> c(IF(encArg(x0), diff(encArg(z0), encArg(z1)), 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_p(z0), x1, x2) -> c(IF(p(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_s(z0), x1, x2) -> c(IF(s(encArg(z0)), encArg(x1), encArg(x2))) ENCODE_IF(cons_leq(z0, z1), x1, x2) -> c(IF(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_IF(cons_if(z0, z1, z2), x1, x2) -> c(IF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))) ENCODE_IF(cons_diff(z0, z1), x1, x2) -> c(IF(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))) ENCODE_DIFF(x0, 0) -> c(DIFF(encArg(x0), 0)) ENCODE_DIFF(x0, true) -> c(DIFF(encArg(x0), true)) ENCODE_DIFF(x0, false) -> c(DIFF(encArg(x0), false)) ENCODE_DIFF(x0, cons_active(z0)) -> c(DIFF(encArg(x0), active(encArg(z0)))) ENCODE_DIFF(x0, cons_mark(z0)) -> c(DIFF(encArg(x0), mark(encArg(z0)))) ENCODE_DIFF(x0, cons_p(z0)) -> c(DIFF(encArg(x0), p(encArg(z0)))) ENCODE_DIFF(x0, cons_s(z0)) -> c(DIFF(encArg(x0), s(encArg(z0)))) ENCODE_DIFF(x0, cons_leq(z0, z1)) -> c(DIFF(encArg(x0), leq(encArg(z0), encArg(z1)))) ENCODE_DIFF(x0, cons_if(z0, z1, z2)) -> c(DIFF(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))) ENCODE_DIFF(x0, cons_diff(z0, z1)) -> c(DIFF(encArg(x0), diff(encArg(z0), encArg(z1)))) ENCODE_DIFF(0, x1) -> c(DIFF(0, encArg(x1))) ENCODE_DIFF(true, x1) -> c(DIFF(true, encArg(x1))) ENCODE_DIFF(false, x1) -> c(DIFF(false, encArg(x1))) ENCODE_DIFF(cons_active(z0), x1) -> c(DIFF(active(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_mark(z0), x1) -> c(DIFF(mark(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_p(z0), x1) -> c(DIFF(p(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_s(z0), x1) -> c(DIFF(s(encArg(z0)), encArg(x1))) ENCODE_DIFF(cons_leq(z0, z1), x1) -> c(DIFF(leq(encArg(z0), encArg(z1)), encArg(x1))) ENCODE_DIFF(cons_if(z0, z1, z2), x1) -> c(DIFF(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))) ENCODE_DIFF(cons_diff(z0, z1), x1) -> c(DIFF(diff(encArg(z0), encArg(z1)), encArg(x1))) 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_p(z0)))) -> c3(ACTIVE(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c3(ACTIVE(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c3(ACTIVE(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c3(ACTIVE(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) ENCARG(cons_active(cons_mark(0))) -> c1(ACTIVE(mark(0))) ENCARG(cons_active(cons_mark(0))) -> c1(ENCARG(cons_mark(0))) ENCARG(cons_active(cons_mark(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_p(cons_active(z0)))) -> c3(ACTIVE(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_active(cons_p(cons_mark(z0)))) -> c3(ACTIVE(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_active(cons_p(cons_p(z0)))) -> c3(ACTIVE(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_active(cons_p(cons_s(z0)))) -> c3(ACTIVE(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_active(cons_p(cons_leq(z0, z1)))) -> c3(ACTIVE(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_active(cons_p(cons_if(z0, z1, z2)))) -> c3(ACTIVE(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_p(cons_diff(z0, z1)))) -> c3(ACTIVE(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_active(cons_p(0))) -> c3(ACTIVE(p(0))) 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_p(z0)))) -> c3(ACTIVE(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(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_s(cons_diff(z0, z1)))) -> c3(ACTIVE(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(x0, 0))) -> c3(ACTIVE(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_active(cons_leq(x0, true))) -> c3(ACTIVE(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_active(cons_leq(x0, false))) -> c3(ACTIVE(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_active(cons_leq(x0, cons_active(z0)))) -> c3(ACTIVE(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_active(cons_leq(x0, cons_mark(z0)))) -> c3(ACTIVE(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_active(cons_leq(x0, cons_p(z0)))) -> c3(ACTIVE(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_active(cons_leq(x0, cons_s(z0)))) -> c3(ACTIVE(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_active(cons_leq(x0, cons_leq(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_active(cons_leq(x0, cons_if(z0, z1, z2)))) -> c3(ACTIVE(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_active(cons_leq(x0, cons_diff(z0, z1)))) -> c3(ACTIVE(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_active(cons_leq(0, x1))) -> c3(ACTIVE(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_active(cons_leq(true, x1))) -> c3(ACTIVE(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_active(cons_leq(false, x1))) -> c3(ACTIVE(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_active(cons_leq(cons_active(z0), x1))) -> c3(ACTIVE(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_active(cons_leq(cons_mark(z0), x1))) -> c3(ACTIVE(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_active(cons_leq(cons_p(z0), x1))) -> c3(ACTIVE(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_active(cons_leq(cons_s(z0), x1))) -> c3(ACTIVE(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_active(cons_leq(cons_leq(z0, z1), x1))) -> c3(ACTIVE(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_active(cons_leq(cons_if(z0, z1, z2), x1))) -> c3(ACTIVE(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_active(cons_leq(cons_diff(z0, z1), x1))) -> c3(ACTIVE(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), 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_p(z0)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) 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_leq(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(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, x1, cons_diff(z0, z1)))) -> c3(ACTIVE(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) 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_p(z0), x2))) -> c3(ACTIVE(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), 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_leq(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(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(x0, cons_diff(z0, z1), x2))) -> c3(ACTIVE(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), 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_p(z0), x1, x2))) -> c3(ACTIVE(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), 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_leq(z0, z1), x1, x2))) -> c3(ACTIVE(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(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_active(cons_if(cons_diff(z0, z1), x1, x2))) -> c3(ACTIVE(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), 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_p(z0)))) -> c4(MARK(active(p(encArg(z0)))), ENCARG(cons_active(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(active(leq(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_leq(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_active(cons_diff(z0, z1)))) -> c4(MARK(active(diff(encArg(z0), encArg(z1)))), ENCARG(cons_active(cons_diff(z0, z1)))) 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_p(z0)))) -> c4(MARK(mark(p(encArg(z0)))), ENCARG(cons_mark(cons_p(z0)))) 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_leq(z0, z1)))) -> c4(MARK(mark(leq(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_leq(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(cons_diff(z0, z1)))) -> c4(MARK(mark(diff(encArg(z0), encArg(z1)))), ENCARG(cons_mark(cons_diff(z0, z1)))) 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_p(cons_p(cons_active(z0)))) -> c5(P(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_p(cons_p(cons_mark(z0)))) -> c5(P(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_p(cons_p(cons_p(z0)))) -> c5(P(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_p(cons_p(cons_s(z0)))) -> c5(P(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_p(cons_p(cons_leq(z0, z1)))) -> c5(P(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_p(cons_p(cons_if(z0, z1, z2)))) -> c5(P(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_p(cons_diff(z0, z1)))) -> c5(P(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_p(cons_s(cons_active(z0)))) -> c5(P(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_p(cons_s(cons_mark(z0)))) -> c5(P(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_p(cons_s(cons_p(z0)))) -> c5(P(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_p(cons_s(cons_s(z0)))) -> c5(P(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_p(cons_s(cons_leq(z0, z1)))) -> c5(P(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_p(cons_s(cons_if(z0, z1, z2)))) -> c5(P(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_s(cons_diff(z0, z1)))) -> c5(P(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(x0, 0))) -> c5(P(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_p(cons_leq(x0, true))) -> c5(P(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_p(cons_leq(x0, false))) -> c5(P(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_p(cons_leq(x0, cons_active(z0)))) -> c5(P(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_p(cons_leq(x0, cons_mark(z0)))) -> c5(P(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_p(cons_leq(x0, cons_p(z0)))) -> c5(P(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_p(cons_leq(x0, cons_s(z0)))) -> c5(P(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_p(cons_leq(x0, cons_leq(z0, z1)))) -> c5(P(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_leq(x0, cons_if(z0, z1, z2)))) -> c5(P(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_leq(x0, cons_diff(z0, z1)))) -> c5(P(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_leq(0, x1))) -> c5(P(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_p(cons_leq(true, x1))) -> c5(P(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_p(cons_leq(false, x1))) -> c5(P(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_p(cons_leq(cons_active(z0), x1))) -> c5(P(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_p(cons_leq(cons_mark(z0), x1))) -> c5(P(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_p(cons_leq(cons_p(z0), x1))) -> c5(P(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_p(cons_leq(cons_s(z0), x1))) -> c5(P(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_p(cons_leq(cons_leq(z0, z1), x1))) -> c5(P(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_leq(cons_if(z0, z1, z2), x1))) -> c5(P(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_leq(cons_diff(z0, z1), x1))) -> c5(P(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_p(cons_if(x0, x1, 0))) -> c5(P(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_p(cons_if(x0, x1, true))) -> c5(P(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_p(cons_if(x0, x1, false))) -> c5(P(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_p(cons_if(x0, x1, cons_active(z0)))) -> c5(P(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_mark(z0)))) -> c5(P(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_p(z0)))) -> c5(P(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_s(z0)))) -> c5(P(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_p(cons_if(x0, x1, cons_leq(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_p(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c5(P(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_if(x0, x1, cons_diff(z0, z1)))) -> c5(P(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_p(cons_if(x0, 0, x2))) -> c5(P(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_p(cons_if(x0, true, x2))) -> c5(P(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_p(cons_if(x0, false, x2))) -> c5(P(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_p(cons_if(x0, cons_active(z0), x2))) -> c5(P(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_mark(z0), x2))) -> c5(P(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_p(z0), x2))) -> c5(P(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_s(z0), x2))) -> c5(P(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_p(cons_if(x0, cons_leq(z0, z1), x2))) -> c5(P(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_p(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c5(P(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_p(cons_if(x0, cons_diff(z0, z1), x2))) -> c5(P(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_p(cons_if(0, x1, x2))) -> c5(P(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_p(cons_if(true, x1, x2))) -> c5(P(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_p(cons_if(false, x1, x2))) -> c5(P(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_p(cons_if(cons_active(z0), x1, x2))) -> c5(P(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_mark(z0), x1, x2))) -> c5(P(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_p(z0), x1, x2))) -> c5(P(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_s(z0), x1, x2))) -> c5(P(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_p(cons_if(cons_leq(z0, z1), x1, x2))) -> c5(P(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_p(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c5(P(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_p(cons_if(cons_diff(z0, z1), x1, x2))) -> c5(P(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_p(cons_diff(x0, 0))) -> c5(P(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_p(cons_diff(x0, true))) -> c5(P(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_p(cons_diff(x0, false))) -> c5(P(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_p(cons_diff(x0, cons_active(z0)))) -> c5(P(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_p(cons_diff(x0, cons_mark(z0)))) -> c5(P(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_p(cons_diff(x0, cons_p(z0)))) -> c5(P(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_p(cons_diff(x0, cons_s(z0)))) -> c5(P(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_p(cons_diff(x0, cons_leq(z0, z1)))) -> c5(P(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_p(cons_diff(x0, cons_if(z0, z1, z2)))) -> c5(P(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_p(cons_diff(x0, cons_diff(z0, z1)))) -> c5(P(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_p(cons_diff(0, x1))) -> c5(P(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_p(cons_diff(true, x1))) -> c5(P(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_p(cons_diff(false, x1))) -> c5(P(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_p(cons_diff(cons_active(z0), x1))) -> c5(P(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_p(cons_diff(cons_mark(z0), x1))) -> c5(P(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_p(cons_diff(cons_p(z0), x1))) -> c5(P(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_p(cons_diff(cons_s(z0), x1))) -> c5(P(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_p(cons_diff(cons_leq(z0, z1), x1))) -> c5(P(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_p(cons_diff(cons_if(z0, z1, z2), x1))) -> c5(P(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_p(cons_diff(cons_diff(z0, z1), x1))) -> c5(P(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_p(cons_active(z0)))) -> c6(S(p(active(encArg(z0)))), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_s(cons_p(cons_mark(z0)))) -> c6(S(p(mark(encArg(z0)))), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_s(cons_p(cons_p(z0)))) -> c6(S(p(p(encArg(z0)))), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_s(cons_p(cons_s(z0)))) -> c6(S(p(s(encArg(z0)))), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_s(cons_p(cons_leq(z0, z1)))) -> c6(S(p(leq(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_s(cons_p(cons_if(z0, z1, z2)))) -> c6(S(p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_p(cons_diff(z0, z1)))) -> c6(S(p(diff(encArg(z0), encArg(z1)))), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_s(cons_s(cons_active(z0)))) -> c6(S(s(active(encArg(z0)))), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_s(cons_s(cons_mark(z0)))) -> c6(S(s(mark(encArg(z0)))), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_s(cons_s(cons_p(z0)))) -> c6(S(s(p(encArg(z0)))), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_s(cons_s(cons_s(z0)))) -> c6(S(s(s(encArg(z0)))), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_s(cons_s(cons_leq(z0, z1)))) -> c6(S(s(leq(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_s(cons_s(cons_if(z0, z1, z2)))) -> c6(S(s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_s(cons_diff(z0, z1)))) -> c6(S(s(diff(encArg(z0), encArg(z1)))), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(x0, 0))) -> c6(S(leq(encArg(x0), 0)), ENCARG(cons_leq(x0, 0))) ENCARG(cons_s(cons_leq(x0, true))) -> c6(S(leq(encArg(x0), true)), ENCARG(cons_leq(x0, true))) ENCARG(cons_s(cons_leq(x0, false))) -> c6(S(leq(encArg(x0), false)), ENCARG(cons_leq(x0, false))) ENCARG(cons_s(cons_leq(x0, cons_active(z0)))) -> c6(S(leq(encArg(x0), active(encArg(z0)))), ENCARG(cons_leq(x0, cons_active(z0)))) ENCARG(cons_s(cons_leq(x0, cons_mark(z0)))) -> c6(S(leq(encArg(x0), mark(encArg(z0)))), ENCARG(cons_leq(x0, cons_mark(z0)))) ENCARG(cons_s(cons_leq(x0, cons_p(z0)))) -> c6(S(leq(encArg(x0), p(encArg(z0)))), ENCARG(cons_leq(x0, cons_p(z0)))) ENCARG(cons_s(cons_leq(x0, cons_s(z0)))) -> c6(S(leq(encArg(x0), s(encArg(z0)))), ENCARG(cons_leq(x0, cons_s(z0)))) ENCARG(cons_s(cons_leq(x0, cons_leq(z0, z1)))) -> c6(S(leq(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_leq(x0, cons_if(z0, z1, z2)))) -> c6(S(leq(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_leq(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_leq(x0, cons_diff(z0, z1)))) -> c6(S(leq(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_leq(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_leq(0, x1))) -> c6(S(leq(0, encArg(x1))), ENCARG(cons_leq(0, x1))) ENCARG(cons_s(cons_leq(true, x1))) -> c6(S(leq(true, encArg(x1))), ENCARG(cons_leq(true, x1))) ENCARG(cons_s(cons_leq(false, x1))) -> c6(S(leq(false, encArg(x1))), ENCARG(cons_leq(false, x1))) ENCARG(cons_s(cons_leq(cons_active(z0), x1))) -> c6(S(leq(active(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_active(z0), x1))) ENCARG(cons_s(cons_leq(cons_mark(z0), x1))) -> c6(S(leq(mark(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_mark(z0), x1))) ENCARG(cons_s(cons_leq(cons_p(z0), x1))) -> c6(S(leq(p(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_p(z0), x1))) ENCARG(cons_s(cons_leq(cons_s(z0), x1))) -> c6(S(leq(s(encArg(z0)), encArg(x1))), ENCARG(cons_leq(cons_s(z0), x1))) ENCARG(cons_s(cons_leq(cons_leq(z0, z1), x1))) -> c6(S(leq(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_leq(cons_if(z0, z1, z2), x1))) -> c6(S(leq(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_leq(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_leq(cons_diff(z0, z1), x1))) -> c6(S(leq(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_leq(cons_diff(z0, z1), x1))) ENCARG(cons_s(cons_if(x0, x1, 0))) -> c6(S(if(encArg(x0), encArg(x1), 0)), ENCARG(cons_if(x0, x1, 0))) ENCARG(cons_s(cons_if(x0, x1, true))) -> c6(S(if(encArg(x0), encArg(x1), true)), ENCARG(cons_if(x0, x1, true))) ENCARG(cons_s(cons_if(x0, x1, false))) -> c6(S(if(encArg(x0), encArg(x1), false)), ENCARG(cons_if(x0, x1, false))) ENCARG(cons_s(cons_if(x0, x1, cons_active(z0)))) -> c6(S(if(encArg(x0), encArg(x1), active(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_active(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_mark(z0)))) -> c6(S(if(encArg(x0), encArg(x1), mark(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_mark(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_p(z0)))) -> c6(S(if(encArg(x0), encArg(x1), p(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_p(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_s(z0)))) -> c6(S(if(encArg(x0), encArg(x1), s(encArg(z0)))), ENCARG(cons_if(x0, x1, cons_s(z0)))) ENCARG(cons_s(cons_if(x0, x1, cons_leq(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), leq(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_leq(z0, z1)))) ENCARG(cons_s(cons_if(x0, x1, cons_if(z0, z1, z2)))) -> c6(S(if(encArg(x0), encArg(x1), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_if(x0, x1, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_if(x0, x1, cons_diff(z0, z1)))) -> c6(S(if(encArg(x0), encArg(x1), diff(encArg(z0), encArg(z1)))), ENCARG(cons_if(x0, x1, cons_diff(z0, z1)))) ENCARG(cons_s(cons_if(x0, 0, x2))) -> c6(S(if(encArg(x0), 0, encArg(x2))), ENCARG(cons_if(x0, 0, x2))) ENCARG(cons_s(cons_if(x0, true, x2))) -> c6(S(if(encArg(x0), true, encArg(x2))), ENCARG(cons_if(x0, true, x2))) ENCARG(cons_s(cons_if(x0, false, x2))) -> c6(S(if(encArg(x0), false, encArg(x2))), ENCARG(cons_if(x0, false, x2))) ENCARG(cons_s(cons_if(x0, cons_active(z0), x2))) -> c6(S(if(encArg(x0), active(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_active(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_mark(z0), x2))) -> c6(S(if(encArg(x0), mark(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_mark(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_p(z0), x2))) -> c6(S(if(encArg(x0), p(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_p(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_s(z0), x2))) -> c6(S(if(encArg(x0), s(encArg(z0)), encArg(x2))), ENCARG(cons_if(x0, cons_s(z0), x2))) ENCARG(cons_s(cons_if(x0, cons_leq(z0, z1), x2))) -> c6(S(if(encArg(x0), leq(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_leq(z0, z1), x2))) ENCARG(cons_s(cons_if(x0, cons_if(z0, z1, z2), x2))) -> c6(S(if(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)), encArg(x2))), ENCARG(cons_if(x0, cons_if(z0, z1, z2), x2))) ENCARG(cons_s(cons_if(x0, cons_diff(z0, z1), x2))) -> c6(S(if(encArg(x0), diff(encArg(z0), encArg(z1)), encArg(x2))), ENCARG(cons_if(x0, cons_diff(z0, z1), x2))) ENCARG(cons_s(cons_if(0, x1, x2))) -> c6(S(if(0, encArg(x1), encArg(x2))), ENCARG(cons_if(0, x1, x2))) ENCARG(cons_s(cons_if(true, x1, x2))) -> c6(S(if(true, encArg(x1), encArg(x2))), ENCARG(cons_if(true, x1, x2))) ENCARG(cons_s(cons_if(false, x1, x2))) -> c6(S(if(false, encArg(x1), encArg(x2))), ENCARG(cons_if(false, x1, x2))) ENCARG(cons_s(cons_if(cons_active(z0), x1, x2))) -> c6(S(if(active(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_active(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_mark(z0), x1, x2))) -> c6(S(if(mark(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_mark(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_p(z0), x1, x2))) -> c6(S(if(p(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_p(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_s(z0), x1, x2))) -> c6(S(if(s(encArg(z0)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_s(z0), x1, x2))) ENCARG(cons_s(cons_if(cons_leq(z0, z1), x1, x2))) -> c6(S(if(leq(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_leq(z0, z1), x1, x2))) ENCARG(cons_s(cons_if(cons_if(z0, z1, z2), x1, x2))) -> c6(S(if(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_if(z0, z1, z2), x1, x2))) ENCARG(cons_s(cons_if(cons_diff(z0, z1), x1, x2))) -> c6(S(if(diff(encArg(z0), encArg(z1)), encArg(x1), encArg(x2))), ENCARG(cons_if(cons_diff(z0, z1), x1, x2))) ENCARG(cons_s(cons_diff(x0, 0))) -> c6(S(diff(encArg(x0), 0)), ENCARG(cons_diff(x0, 0))) ENCARG(cons_s(cons_diff(x0, true))) -> c6(S(diff(encArg(x0), true)), ENCARG(cons_diff(x0, true))) ENCARG(cons_s(cons_diff(x0, false))) -> c6(S(diff(encArg(x0), false)), ENCARG(cons_diff(x0, false))) ENCARG(cons_s(cons_diff(x0, cons_active(z0)))) -> c6(S(diff(encArg(x0), active(encArg(z0)))), ENCARG(cons_diff(x0, cons_active(z0)))) ENCARG(cons_s(cons_diff(x0, cons_mark(z0)))) -> c6(S(diff(encArg(x0), mark(encArg(z0)))), ENCARG(cons_diff(x0, cons_mark(z0)))) ENCARG(cons_s(cons_diff(x0, cons_p(z0)))) -> c6(S(diff(encArg(x0), p(encArg(z0)))), ENCARG(cons_diff(x0, cons_p(z0)))) ENCARG(cons_s(cons_diff(x0, cons_s(z0)))) -> c6(S(diff(encArg(x0), s(encArg(z0)))), ENCARG(cons_diff(x0, cons_s(z0)))) ENCARG(cons_s(cons_diff(x0, cons_leq(z0, z1)))) -> c6(S(diff(encArg(x0), leq(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_leq(z0, z1)))) ENCARG(cons_s(cons_diff(x0, cons_if(z0, z1, z2)))) -> c6(S(diff(encArg(x0), if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(cons_diff(x0, cons_if(z0, z1, z2)))) ENCARG(cons_s(cons_diff(x0, cons_diff(z0, z1)))) -> c6(S(diff(encArg(x0), diff(encArg(z0), encArg(z1)))), ENCARG(cons_diff(x0, cons_diff(z0, z1)))) ENCARG(cons_s(cons_diff(0, x1))) -> c6(S(diff(0, encArg(x1))), ENCARG(cons_diff(0, x1))) ENCARG(cons_s(cons_diff(true, x1))) -> c6(S(diff(true, encArg(x1))), ENCARG(cons_diff(true, x1))) ENCARG(cons_s(cons_diff(false, x1))) -> c6(S(diff(false, encArg(x1))), ENCARG(cons_diff(false, x1))) ENCARG(cons_s(cons_diff(cons_active(z0), x1))) -> c6(S(diff(active(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_active(z0), x1))) ENCARG(cons_s(cons_diff(cons_mark(z0), x1))) -> c6(S(diff(mark(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_mark(z0), x1))) ENCARG(cons_s(cons_diff(cons_p(z0), x1))) -> c6(S(diff(p(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_p(z0), x1))) ENCARG(cons_s(cons_diff(cons_s(z0), x1))) -> c6(S(diff(s(encArg(z0)), encArg(x1))), ENCARG(cons_diff(cons_s(z0), x1))) ENCARG(cons_s(cons_diff(cons_leq(z0, z1), x1))) -> c6(S(diff(leq(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_leq(z0, z1), x1))) ENCARG(cons_s(cons_diff(cons_if(z0, z1, z2), x1))) -> c6(S(diff(if(encArg(z0), encArg(z1), encArg(z2)), encArg(x1))), ENCARG(cons_diff(cons_if(z0, z1, z2), x1))) ENCARG(cons_s(cons_diff(cons_diff(z0, z1), x1))) -> c6(S(diff(diff(encArg(z0), encArg(z1)), encArg(x1))), ENCARG(cons_diff(cons_diff(z0, z1), x1))) ENCARG(cons_leq(x0, cons_p(cons_active(z0)))) -> c7(LEQ(encArg(x0), p(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_active(z0)))) ENCARG(cons_leq(x0, cons_p(cons_mark(z0)))) -> c7(LEQ(encArg(x0), p(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_p(cons_p(z0)))) -> c7(LEQ(encArg(x0), p(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_p(z0)))) ENCARG(cons_leq(x0, cons_p(cons_s(z0)))) -> c7(LEQ(encArg(x0), p(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_p(cons_s(z0)))) ENCARG(cons_leq(x0, cons_p(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), p(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_p(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), p(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_p(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_p(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), p(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_p(cons_diff(z0, z1)))) ENCARG(cons_leq(cons_active(z0), cons_p(x1))) -> c7(LEQ(active(encArg(z0)), p(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_mark(z0), cons_p(x1))) -> c7(LEQ(mark(encArg(z0)), p(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_p(z0), cons_p(x1))) -> c7(LEQ(p(encArg(z0)), p(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_s(z0), cons_p(x1))) -> c7(LEQ(s(encArg(z0)), p(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_p(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_p(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), p(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_p(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_p(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), p(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_p(x1))) ENCARG(cons_leq(x0, cons_p(0))) -> c7(LEQ(encArg(x0), p(0)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(true))) -> c7(LEQ(encArg(x0), p(true)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_p(false))) -> c7(LEQ(encArg(x0), p(false)), ENCARG(x0)) ENCARG(cons_leq(0, cons_p(x1))) -> c7(LEQ(0, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(true, cons_p(x1))) -> c7(LEQ(true, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(false, cons_p(x1))) -> c7(LEQ(false, p(encArg(x1))), ENCARG(cons_p(x1))) ENCARG(cons_leq(x0, cons_s(cons_active(z0)))) -> c7(LEQ(encArg(x0), s(active(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_active(z0)))) ENCARG(cons_leq(x0, cons_s(cons_mark(z0)))) -> c7(LEQ(encArg(x0), s(mark(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_mark(z0)))) ENCARG(cons_leq(x0, cons_s(cons_p(z0)))) -> c7(LEQ(encArg(x0), s(p(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_p(z0)))) ENCARG(cons_leq(x0, cons_s(cons_s(z0)))) -> c7(LEQ(encArg(x0), s(s(encArg(z0)))), ENCARG(x0), ENCARG(cons_s(cons_s(z0)))) ENCARG(cons_leq(x0, cons_s(cons_leq(z0, z1)))) -> c7(LEQ(encArg(x0), s(leq(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_leq(z0, z1)))) ENCARG(cons_leq(x0, cons_s(cons_if(z0, z1, z2)))) -> c7(LEQ(encArg(x0), s(if(encArg(z0), encArg(z1), encArg(z2)))), ENCARG(x0), ENCARG(cons_s(cons_if(z0, z1, z2)))) ENCARG(cons_leq(x0, cons_s(cons_diff(z0, z1)))) -> c7(LEQ(encArg(x0), s(diff(encArg(z0), encArg(z1)))), ENCARG(x0), ENCARG(cons_s(cons_diff(z0, z1)))) ENCARG(cons_leq(cons_active(z0), cons_s(x1))) -> c7(LEQ(active(encArg(z0)), s(encArg(x1))), ENCARG(cons_active(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_mark(z0), cons_s(x1))) -> c7(LEQ(mark(encArg(z0)), s(encArg(x1))), ENCARG(cons_mark(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_p(z0), cons_s(x1))) -> c7(LEQ(p(encArg(z0)), s(encArg(x1))), ENCARG(cons_p(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_s(z0), cons_s(x1))) -> c7(LEQ(s(encArg(z0)), s(encArg(x1))), ENCARG(cons_s(z0)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_leq(z0, z1), cons_s(x1))) -> c7(LEQ(leq(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_leq(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_if(z0, z1, z2), cons_s(x1))) -> c7(LEQ(if(encArg(z0), encArg(z1), encArg(z2)), s(encArg(x1))), ENCARG(cons_if(z0, z1, z2)), ENCARG(cons_s(x1))) ENCARG(cons_leq(cons_diff(z0, z1), cons_s(x1))) -> c7(LEQ(diff(encArg(z0), encArg(z1)), s(encArg(x1))), ENCARG(cons_diff(z0, z1)), ENCARG(cons_s(x1))) ENCARG(cons_leq(x0, cons_s(0))) -> c7(LEQ(encArg(x0), s(0)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_s(true))) -> c7(LEQ(encArg(x0), s(true)), ENCARG(x0)) ENCARG(cons_leq(x0, cons_s(false))) -> c7(LEQ(encArg(x0), s(false)), ENCARG(x0)) ENCARG(cons_leq(0, cons_s(x1))) -> c7(LEQ(0, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_leq(true, cons_s(x1))) -> c7(LEQ(true, s(encArg(x1))), ENCARG(cons_s(x1))) ENCARG(cons_leq(false, cons_s(x1))) -> c7(LEQ(false, s(encArg(x1))), ENCARG(cons_s(x1))) S tuples: ACTIVE(p(0)) -> c20(MARK(0)) ACTIVE(p(s(z0))) -> c21(MARK(z0)) ACTIVE(leq(0, z0)) -> c22(MARK(true)) ACTIVE(leq(s(z0), 0)) -> c23(MARK(false)) ACTIVE(leq(s(z0), s(z1))) -> c24(MARK(leq(z0, z1)), LEQ(z0, z1)) ACTIVE(if(true, z0, z1)) -> c25(MARK(z0)) ACTIVE(if(false, z0, z1)) -> c26(MARK(z1)) P(mark(z0)) -> c36(P(z0)) P(active(z0)) -> c37(P(z0)) S(mark(z0)) -> c38(S(z0)) S(active(z0)) -> c39(S(z0)) LEQ(mark(z0), z1) -> c40(LEQ(z0, z1)) LEQ(z0, mark(z1)) -> c41(LEQ(z0, z1)) LEQ(active(z0), z1) -> c42(LEQ(z0, z1)) LEQ(z0, active(z1)) -> c43(LEQ(z0, z1)) IF(mark(z0), z1, z2) -> c44(IF(z0, z1, z2)) IF(z0, mark(z1), z2) -> c45(IF(z0, z1, z2)) IF(z0, z1, mark(z2)) -> c46(IF(z0, z1, z2)) IF(active(z0), z1, z2) -> c47(IF(z0, z1, z2)) IF(z0, active(z1), z2) -> c48(IF(z0, z1, z2)) IF(z0, z1, active(z2)) -> c49(IF(z0, z1, z2)) DIFF(mark(z0), z1) -> c50(DIFF(z0, z1)) DIFF(z0, mark(z1)) -> c51(DIFF(z0, z1)) DIFF(active(z0), z1) -> c52(DIFF(z0, z1)) DIFF(z0, active(z1)) -> c53(DIFF(z0, z1)) ACTIVE(diff(z0, z1)) -> c27(MARK(if(leq(z0, z1), 0, s(diff(p(z0), z1)))), LEQ(z0, z1), DIFF(p(z0), z1), P(z0)) MARK(0) -> c29 MARK(true) -> c32 MARK(false) -> c33 MARK(p(z0)) -> c28(ACTIVE(p(z0)), P(mark(z0)), MARK(z0)) MARK(p(p(z0))) -> c28(ACTIVE(p(active(p(mark(z0))))), P(mark(p(z0))), MARK(p(z0))) MARK(p(0)) -> c28(ACTIVE(p(active(0))), P(mark(0)), MARK(0)) MARK(p(s(z0))) -> c28(ACTIVE(p(active(s(mark(z0))))), P(mark(s(z0))), MARK(s(z0))) MARK(p(leq(z0, z1))) -> c28(ACTIVE(p(active(leq(mark(z0), mark(z1))))), P(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(p(true)) -> c28(ACTIVE(p(active(true))), P(mark(true)), MARK(true)) MARK(p(false)) -> c28(ACTIVE(p(active(false))), P(mark(false)), MARK(false)) MARK(p(if(z0, z1, z2))) -> c28(ACTIVE(p(active(if(mark(z0), z1, z2)))), P(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(p(diff(z0, z1))) -> c28(ACTIVE(p(active(diff(mark(z0), mark(z1))))), P(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(p(z0))) -> c30(ACTIVE(s(active(p(mark(z0))))), S(mark(p(z0))), MARK(p(z0))) MARK(s(0)) -> c30(ACTIVE(s(active(0))), S(mark(0)), MARK(0)) MARK(s(s(z0))) -> c30(ACTIVE(s(active(s(mark(z0))))), S(mark(s(z0))), MARK(s(z0))) MARK(s(leq(z0, z1))) -> c30(ACTIVE(s(active(leq(mark(z0), mark(z1))))), S(mark(leq(z0, z1))), MARK(leq(z0, z1))) MARK(s(true)) -> c30(ACTIVE(s(active(true))), S(mark(true)), MARK(true)) MARK(s(false)) -> c30(ACTIVE(s(active(false))), S(mark(false)), MARK(false)) MARK(s(if(z0, z1, z2))) -> c30(ACTIVE(s(active(if(mark(z0), z1, z2)))), S(mark(if(z0, z1, z2))), MARK(if(z0, z1, z2))) MARK(s(diff(z0, z1))) -> c30(ACTIVE(s(active(diff(mark(z0), mark(z1))))), S(mark(diff(z0, z1))), MARK(diff(z0, z1))) MARK(s(z0)) -> c30(S(mark(z0)), MARK(z0)) MARK(leq(z0, x1)) -> c31(ACTIVE(leq(z0, mark(x1))), LEQ(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(leq(x0, z1)) -> c31(ACTIVE(leq(mark(x0), z1)), LEQ(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(leq(x0, p(z0))) -> c31(ACTIVE(leq(mark(x0), active(p(mark(z0))))), LEQ(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(leq(x0, 0)) -> c31(ACTIVE(leq(mark(x0), active(0))), LEQ(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(leq(x0, s(z0))) -> c31(ACTIVE(leq(mark(x0), active(s(mark(z0))))), LEQ(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(leq(x0, leq(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(leq(mark(z0), mark(z1))))), LEQ(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(leq(x0, true)) -> c31(ACTIVE(leq(mark(x0), active(true))), LEQ(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(leq(x0, false)) -> c31(ACTIVE(leq(mark(x0), active(false))), LEQ(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(leq(x0, if(z0, z1, z2))) -> c31(ACTIVE(leq(mark(x0), active(if(mark(z0), z1, z2)))), LEQ(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(leq(x0, diff(z0, z1))) -> c31(ACTIVE(leq(mark(x0), active(diff(mark(z0), mark(z1))))), LEQ(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(leq(p(z0), x1)) -> c31(ACTIVE(leq(active(p(mark(z0))), mark(x1))), LEQ(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(leq(0, x1)) -> c31(ACTIVE(leq(active(0), mark(x1))), LEQ(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(leq(s(z0), x1)) -> c31(ACTIVE(leq(active(s(mark(z0))), mark(x1))), LEQ(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(leq(leq(z0, z1), x1)) -> c31(ACTIVE(leq(active(leq(mark(z0), mark(z1))), mark(x1))), LEQ(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(leq(true, x1)) -> c31(ACTIVE(leq(active(true), mark(x1))), LEQ(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(leq(false, x1)) -> c31(ACTIVE(leq(active(false), mark(x1))), LEQ(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(leq(if(z0, z1, z2), x1)) -> c31(ACTIVE(leq(active(if(mark(z0), z1, z2)), mark(x1))), LEQ(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(leq(diff(z0, z1), x1)) -> c31(ACTIVE(leq(active(diff(mark(z0), mark(z1))), mark(x1))), LEQ(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) MARK(if(z0, z1, z2)) -> c34(ACTIVE(if(z0, z1, z2)), IF(mark(z0), z1, z2), MARK(z0)) MARK(if(p(z0), x1, x2)) -> c34(ACTIVE(if(active(p(mark(z0))), x1, x2)), IF(mark(p(z0)), x1, x2), MARK(p(z0))) MARK(if(0, x1, x2)) -> c34(ACTIVE(if(active(0), x1, x2)), IF(mark(0), x1, x2), MARK(0)) MARK(if(s(z0), x1, x2)) -> c34(ACTIVE(if(active(s(mark(z0))), x1, x2)), IF(mark(s(z0)), x1, x2), MARK(s(z0))) MARK(if(leq(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(leq(mark(z0), mark(z1))), x1, x2)), IF(mark(leq(z0, z1)), x1, x2), MARK(leq(z0, z1))) MARK(if(true, x1, x2)) -> c34(ACTIVE(if(active(true), x1, x2)), IF(mark(true), x1, x2), MARK(true)) MARK(if(false, x1, x2)) -> c34(ACTIVE(if(active(false), x1, x2)), IF(mark(false), x1, x2), MARK(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c34(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(diff(z0, z1), x1, x2)) -> c34(ACTIVE(if(active(diff(mark(z0), mark(z1))), x1, x2)), IF(mark(diff(z0, z1)), x1, x2), MARK(diff(z0, z1))) MARK(if(x0, x1, x2)) -> c34(IF(mark(x0), x1, x2)) MARK(diff(z0, x1)) -> c35(ACTIVE(diff(z0, mark(x1))), DIFF(mark(z0), mark(x1)), MARK(z0), MARK(x1)) MARK(diff(x0, z1)) -> c35(ACTIVE(diff(mark(x0), z1)), DIFF(mark(x0), mark(z1)), MARK(x0), MARK(z1)) MARK(diff(x0, p(z0))) -> c35(ACTIVE(diff(mark(x0), active(p(mark(z0))))), DIFF(mark(x0), mark(p(z0))), MARK(x0), MARK(p(z0))) MARK(diff(x0, 0)) -> c35(ACTIVE(diff(mark(x0), active(0))), DIFF(mark(x0), mark(0)), MARK(x0), MARK(0)) MARK(diff(x0, s(z0))) -> c35(ACTIVE(diff(mark(x0), active(s(mark(z0))))), DIFF(mark(x0), mark(s(z0))), MARK(x0), MARK(s(z0))) MARK(diff(x0, leq(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(leq(mark(z0), mark(z1))))), DIFF(mark(x0), mark(leq(z0, z1))), MARK(x0), MARK(leq(z0, z1))) MARK(diff(x0, true)) -> c35(ACTIVE(diff(mark(x0), active(true))), DIFF(mark(x0), mark(true)), MARK(x0), MARK(true)) MARK(diff(x0, false)) -> c35(ACTIVE(diff(mark(x0), active(false))), DIFF(mark(x0), mark(false)), MARK(x0), MARK(false)) MARK(diff(x0, if(z0, z1, z2))) -> c35(ACTIVE(diff(mark(x0), active(if(mark(z0), z1, z2)))), DIFF(mark(x0), mark(if(z0, z1, z2))), MARK(x0), MARK(if(z0, z1, z2))) MARK(diff(x0, diff(z0, z1))) -> c35(ACTIVE(diff(mark(x0), active(diff(mark(z0), mark(z1))))), DIFF(mark(x0), mark(diff(z0, z1))), MARK(x0), MARK(diff(z0, z1))) MARK(diff(p(z0), x1)) -> c35(ACTIVE(diff(active(p(mark(z0))), mark(x1))), DIFF(mark(p(z0)), mark(x1)), MARK(p(z0)), MARK(x1)) MARK(diff(0, x1)) -> c35(ACTIVE(diff(active(0), mark(x1))), DIFF(mark(0), mark(x1)), MARK(0), MARK(x1)) MARK(diff(s(z0), x1)) -> c35(ACTIVE(diff(active(s(mark(z0))), mark(x1))), DIFF(mark(s(z0)), mark(x1)), MARK(s(z0)), MARK(x1)) MARK(diff(leq(z0, z1), x1)) -> c35(ACTIVE(diff(active(leq(mark(z0), mark(z1))), mark(x1))), DIFF(mark(leq(z0, z1)), mark(x1)), MARK(leq(z0, z1)), MARK(x1)) MARK(diff(true, x1)) -> c35(ACTIVE(diff(active(true), mark(x1))), DIFF(mark(true), mark(x1)), MARK(true), MARK(x1)) MARK(diff(false, x1)) -> c35(ACTIVE(diff(active(false), mark(x1))), DIFF(mark(false), mark(x1)), MARK(false), MARK(x1)) MARK(diff(if(z0, z1, z2), x1)) -> c35(ACTIVE(diff(active(if(mark(z0), z1, z2)), mark(x1))), DIFF(mark(if(z0, z1, z2)), mark(x1)), MARK(if(z0, z1, z2)), MARK(x1)) MARK(diff(diff(z0, z1), x1)) -> c35(ACTIVE(diff(active(diff(mark(z0), mark(z1))), mark(x1))), DIFF(mark(diff(z0, z1)), mark(x1)), MARK(diff(z0, z1)), MARK(x1)) K tuples:none Defined Rule Symbols: encArg_1, active_1, mark_1, p_1, s_1, leq_2, if_3, diff_2 Defined Pair Symbols: ACTIVE_1, P_1, S_1, LEQ_2, IF_3, DIFF_2, MARK_1, ENCARG_1, ENCODE_ACTIVE_1, ENCODE_P_1, ENCODE_MARK_1, ENCODE_S_1, ENCODE_LEQ_2, ENCODE_IF_3, ENCODE_DIFF_2 Compound Symbols: c20_1, c21_1, c22_1, c23_1, c24_2, c25_1, c26_1, c36_1, c37_1, c38_1, c39_1, c40_1, c41_1, c42_1, c43_1, c44_1, c45_1, c46_1, c47_1, c48_1, c49_1, c50_1, c51_1, c52_1, c53_1, c27_4, c29, c32, c33, c3_2, c4_2, c4_1, c5_2, c6_2, c7_3, c7_2, c8_4, c8_3, c9_3, c9_2, c28_3, c30_3, c30_2, c31_4, c34_3, c34_1, c35_4, c_1, c1_1, c3_1, c2_1