KILLED proof of input_lty71TZ9NS.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 6 ms] (14) CpxRNTS (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxRNTS (17) CompletionProof [UPPER BOUND(ID), 0 ms] (18) CpxTypedWeightedCompleteTrs (19) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 3 ms] (20) CpxRNTS (21) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (22) CdtProblem (23) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CdtProblem (25) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CdtProblem (31) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CdtProblem (35) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CdtProblem (39) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CdtProblem (43) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtRhsSimplificationProcessorProof [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) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 33 ms] (96) CdtProblem (97) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 3 ms] (100) CdtProblem (101) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CdtProblem (107) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 34 ms] (108) CdtProblem (109) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 26 ms] (112) CdtProblem (113) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 6 ms] (114) CdtProblem (115) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 2 ms] (118) CdtProblem (119) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 248 ms] (128) CdtProblem (129) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CdtProblem (131) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (134) CdtProblem (135) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (136) CdtProblem (137) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (138) CdtProblem (139) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (140) CdtProblem (141) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 274 ms] (142) CdtProblem (143) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (146) CdtProblem (147) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 259 ms] (148) CdtProblem (149) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 20 ms] (150) CdtProblem (151) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 234 ms] (152) CdtProblem (153) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 309 ms] (154) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__f(X) -> a__if(mark(X), c, f(true)) a__if(true, X, Y) -> mark(X) a__if(false, X, Y) -> mark(Y) mark(f(X)) -> a__f(mark(X)) mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) mark(c) -> c mark(true) -> true mark(false) -> false a__f(X) -> f(X) a__if(X1, X2, X3) -> if(X1, X2, X3) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__f(X) -> a__if(mark(X), c, f(true)) a__if(true, X, Y) -> mark(X) a__if(false, X, Y) -> mark(Y) mark(f(X)) -> a__f(mark(X)) mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) mark(c) -> c mark(true) -> true mark(false) -> false a__f(X) -> f(X) a__if(X1, X2, X3) -> if(X1, X2, X3) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__f(X) -> a__if(mark(X), c, f(true)) a__if(true, X, Y) -> mark(X) a__if(false, X, Y) -> mark(Y) mark(f(X)) -> a__f(mark(X)) mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) mark(c) -> c mark(true) -> true mark(false) -> false a__f(X) -> f(X) a__if(X1, X2, X3) -> if(X1, X2, X3) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) 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: a__f(X) -> a__if(mark(X), c, f(true)) [1] a__if(true, X, Y) -> mark(X) [1] a__if(false, X, Y) -> mark(Y) [1] mark(f(X)) -> a__f(mark(X)) [1] mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) [1] mark(c) -> c [1] mark(true) -> true [1] mark(false) -> false [1] a__f(X) -> f(X) [1] a__if(X1, X2, X3) -> if(X1, X2, X3) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__f(X) -> a__if(mark(X), c, f(true)) [1] a__if(true, X, Y) -> mark(X) [1] a__if(false, X, Y) -> mark(Y) [1] mark(f(X)) -> a__f(mark(X)) [1] mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) [1] mark(c) -> c [1] mark(true) -> true [1] mark(false) -> false [1] a__f(X) -> f(X) [1] a__if(X1, X2, X3) -> if(X1, X2, X3) [1] The TRS has the following type information: a__f :: c:true:f:false:if -> c:true:f:false:if a__if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if mark :: c:true:f:false:if -> c:true:f:false:if c :: c:true:f:false:if f :: c:true:f:false:if -> c:true:f:false:if true :: c:true:f:false:if false :: c:true:f:false:if if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if Rewrite Strategy: INNERMOST ---------------------------------------- (9) 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: mark_1 a__if_3 a__f_1 Due to the following rules being added: none And the following fresh constants: none ---------------------------------------- (10) 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: a__f(X) -> a__if(mark(X), c, f(true)) [1] a__if(true, X, Y) -> mark(X) [1] a__if(false, X, Y) -> mark(Y) [1] mark(f(X)) -> a__f(mark(X)) [1] mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) [1] mark(c) -> c [1] mark(true) -> true [1] mark(false) -> false [1] a__f(X) -> f(X) [1] a__if(X1, X2, X3) -> if(X1, X2, X3) [1] The TRS has the following type information: a__f :: c:true:f:false:if -> c:true:f:false:if a__if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if mark :: c:true:f:false:if -> c:true:f:false:if c :: c:true:f:false:if f :: c:true:f:false:if -> c:true:f:false:if true :: c:true:f:false:if false :: c:true:f:false:if if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) 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: a__f(f(X')) -> a__if(a__f(mark(X')), c, f(true)) [2] a__f(if(X1', X2', X3')) -> a__if(a__if(mark(X1'), mark(X2'), X3'), c, f(true)) [2] a__f(c) -> a__if(c, c, f(true)) [2] a__f(true) -> a__if(true, c, f(true)) [2] a__f(false) -> a__if(false, c, f(true)) [2] a__if(true, X, Y) -> mark(X) [1] a__if(false, X, Y) -> mark(Y) [1] mark(f(f(X''))) -> a__f(a__f(mark(X''))) [2] mark(f(if(X1'', X2'', X3''))) -> a__f(a__if(mark(X1''), mark(X2''), X3'')) [2] mark(f(c)) -> a__f(c) [2] mark(f(true)) -> a__f(true) [2] mark(f(false)) -> a__f(false) [2] mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) [1] mark(c) -> c [1] mark(true) -> true [1] mark(false) -> false [1] a__f(X) -> f(X) [1] a__if(X1, X2, X3) -> if(X1, X2, X3) [1] The TRS has the following type information: a__f :: c:true:f:false:if -> c:true:f:false:if a__if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if mark :: c:true:f:false:if -> c:true:f:false:if c :: c:true:f:false:if f :: c:true:f:false:if -> c:true:f:false:if true :: c:true:f:false:if false :: c:true:f:false:if if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if Rewrite Strategy: INNERMOST ---------------------------------------- (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: c => 0 true => 2 false => 1 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: a__f(z) -{ 2 }-> a__if(a__if(mark(X1'), mark(X2'), X3'), 0, 1 + 2) :|: X3' >= 0, X2' >= 0, z = 1 + X1' + X2' + X3', X1' >= 0 a__f(z) -{ 2 }-> a__if(a__f(mark(X')), 0, 1 + 2) :|: X' >= 0, z = 1 + X' a__f(z) -{ 2 }-> a__if(2, 0, 1 + 2) :|: z = 2 a__f(z) -{ 2 }-> a__if(1, 0, 1 + 2) :|: z = 1 a__f(z) -{ 2 }-> a__if(0, 0, 1 + 2) :|: z = 0 a__f(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__if(z, z', z'') -{ 1 }-> mark(X) :|: z = 2, z' = X, Y >= 0, z'' = Y, X >= 0 a__if(z, z', z'') -{ 1 }-> mark(Y) :|: z' = X, Y >= 0, z = 1, z'' = Y, X >= 0 a__if(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 mark(z) -{ 1 }-> a__if(mark(X1), mark(X2), X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> a__f(a__if(mark(X1''), mark(X2''), X3'')) :|: X1'' >= 0, X3'' >= 0, X2'' >= 0, z = 1 + (1 + X1'' + X2'' + X3'') mark(z) -{ 2 }-> a__f(a__f(mark(X''))) :|: z = 1 + (1 + X''), X'' >= 0 mark(z) -{ 2 }-> a__f(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__f(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__f(0) :|: z = 1 + 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 ---------------------------------------- (15) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: a__f(z) -{ 2 }-> a__if(a__if(mark(X1'), mark(X2'), X3'), 0, 1 + 2) :|: X3' >= 0, X2' >= 0, z = 1 + X1' + X2' + X3', X1' >= 0 a__f(z) -{ 2 }-> a__if(a__f(mark(z - 1)), 0, 1 + 2) :|: z - 1 >= 0 a__f(z) -{ 2 }-> a__if(2, 0, 1 + 2) :|: z = 2 a__f(z) -{ 2 }-> a__if(1, 0, 1 + 2) :|: z = 1 a__f(z) -{ 2 }-> a__if(0, 0, 1 + 2) :|: z = 0 a__f(z) -{ 1 }-> 1 + z :|: z >= 0 a__if(z, z', z'') -{ 1 }-> mark(z') :|: z = 2, z'' >= 0, z' >= 0 a__if(z, z', z'') -{ 1 }-> mark(z'') :|: z'' >= 0, z = 1, z' >= 0 a__if(z, z', z'') -{ 1 }-> 1 + z + z' + z'' :|: z >= 0, z'' >= 0, z' >= 0 mark(z) -{ 1 }-> a__if(mark(X1), mark(X2), X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 2 }-> a__f(a__if(mark(X1''), mark(X2''), X3'')) :|: X1'' >= 0, X3'' >= 0, X2'' >= 0, z = 1 + (1 + X1'' + X2'' + X3'') mark(z) -{ 2 }-> a__f(a__f(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 2 }-> a__f(2) :|: z = 1 + 2 mark(z) -{ 2 }-> a__f(1) :|: z = 1 + 1 mark(z) -{ 2 }-> a__f(0) :|: z = 1 + 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 ---------------------------------------- (17) 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: none And the following fresh constants: none ---------------------------------------- (18) 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: a__f(X) -> a__if(mark(X), c, f(true)) [1] a__if(true, X, Y) -> mark(X) [1] a__if(false, X, Y) -> mark(Y) [1] mark(f(X)) -> a__f(mark(X)) [1] mark(if(X1, X2, X3)) -> a__if(mark(X1), mark(X2), X3) [1] mark(c) -> c [1] mark(true) -> true [1] mark(false) -> false [1] a__f(X) -> f(X) [1] a__if(X1, X2, X3) -> if(X1, X2, X3) [1] The TRS has the following type information: a__f :: c:true:f:false:if -> c:true:f:false:if a__if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if mark :: c:true:f:false:if -> c:true:f:false:if c :: c:true:f:false:if f :: c:true:f:false:if -> c:true:f:false:if true :: c:true:f:false:if false :: c:true:f:false:if if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if Rewrite Strategy: INNERMOST ---------------------------------------- (19) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: c => 0 true => 2 false => 1 ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: a__f(z) -{ 1 }-> a__if(mark(X), 0, 1 + 2) :|: X >= 0, z = X a__f(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__if(z, z', z'') -{ 1 }-> mark(X) :|: z = 2, z' = X, Y >= 0, z'' = Y, X >= 0 a__if(z, z', z'') -{ 1 }-> mark(Y) :|: z' = X, Y >= 0, z = 1, z'' = Y, X >= 0 a__if(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 mark(z) -{ 1 }-> a__if(mark(X1), mark(X2), X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__f(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (21) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (22) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) A__F(z0) -> c2 A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__IF(z0, z1, z2) -> c5 MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) MARK(c) -> c9 MARK(true) -> c10 MARK(false) -> c11 S tuples: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) A__F(z0) -> c2 A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__IF(z0, z1, z2) -> c5 MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) MARK(c) -> c9 MARK(true) -> c10 MARK(false) -> c11 K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__F_1, A__IF_3, MARK_1 Compound Symbols: c1_2, c2, c3_1, c4_1, c5, c6_2, c7_2, c8_2, c9, c10, c11 ---------------------------------------- (23) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing nodes: A__F(z0) -> c2 MARK(c) -> c9 MARK(false) -> c11 A__IF(z0, z1, z2) -> c5 MARK(true) -> c10 ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) S tuples: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__F_1, A__IF_3, MARK_1 Compound Symbols: c1_2, c3_1, c4_1, c6_2, c7_2, c8_2 ---------------------------------------- (25) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) by A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c6_2, c7_2, c8_2, c1_2 ---------------------------------------- (27) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) ---------------------------------------- (28) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c6_2, c7_2, c8_2, c1_2 ---------------------------------------- (29) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c6_2, c7_2, c8_2, c1_2, c1_1 ---------------------------------------- (31) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) by MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(c)) -> c6(A__F(c), MARK(c)) MARK(f(true)) -> c6(A__F(true), MARK(true)) MARK(f(false)) -> c6(A__F(false), MARK(false)) ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(c)) -> c6(A__F(c), MARK(c)) MARK(f(true)) -> c6(A__F(true), MARK(true)) MARK(f(false)) -> c6(A__F(false), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(c)) -> c6(A__F(c), MARK(c)) MARK(f(true)) -> c6(A__F(true), MARK(true)) MARK(f(false)) -> c6(A__F(false), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c7_2, c8_2, c1_2, c1_1, c6_2 ---------------------------------------- (33) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(f(c)) -> c6(A__F(c), MARK(c)) ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true), MARK(true)) MARK(f(false)) -> c6(A__F(false), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true), MARK(true)) MARK(f(false)) -> c6(A__F(false), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c7_2, c8_2, c1_2, c1_1, c6_2 ---------------------------------------- (35) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c7_2, c8_2, c1_2, c1_1, c6_2, c6_1 ---------------------------------------- (37) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) by MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(c, x1, x2)) -> c7(A__IF(c, mark(x1), x2), MARK(c)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2), MARK(true)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2), MARK(false)) ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(c, x1, x2)) -> c7(A__IF(c, mark(x1), x2), MARK(c)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2), MARK(true)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(c, x1, x2)) -> c7(A__IF(c, mark(x1), x2), MARK(c)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2), MARK(true)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c8_2, c1_2, c1_1, c6_2, c6_1, c7_2 ---------------------------------------- (39) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, x1, x2)) -> c7(A__IF(c, mark(x1), x2), MARK(c)) ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2), MARK(true)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2), MARK(true)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c8_2, c1_2, c1_1, c6_2, c6_1, c7_2 ---------------------------------------- (41) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, MARK_1, A__F_1 Compound Symbols: c3_1, c4_1, c8_2, c1_2, c1_1, c6_2, c6_1, c7_2, c7_1 ---------------------------------------- (43) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) by MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2), MARK(c)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2), MARK(true)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2), MARK(false)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(A__IF(c, mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2), MARK(c)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2), MARK(true)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2), MARK(false)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(A__IF(c, mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2), MARK(c)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2), MARK(true)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2), MARK(false)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(A__IF(c, mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_2, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2 ---------------------------------------- (45) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_2, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1 ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(f(z0)) -> c1(A__IF(a__f(mark(z0)), c, f(true)), MARK(f(z0))) by A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(x0)) -> c1(A__IF(f(mark(x0)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true)), MARK(f(c))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(x0)) -> c1(A__IF(f(mark(x0)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true)), MARK(f(c))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(x0)) -> c1(A__IF(f(mark(x0)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true)), MARK(f(c))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_2, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1 ---------------------------------------- (49) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_2, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(if(z0, z1, z2)) -> c1(A__IF(a__if(mark(z0), mark(z1), z2), c, f(true)), MARK(if(z0, z1, z2))) by A__F(if(x0, x1, z2)) -> c1(A__IF(if(mark(x0), mark(x1), z2), c, f(true)), MARK(if(x0, x1, z2))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, x1, z2)) -> c1(A__IF(if(mark(x0), mark(x1), z2), c, f(true)), MARK(if(x0, x1, z2))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, x1, z2)) -> c1(A__IF(if(mark(x0), mark(x1), z2), c, f(true)), MARK(if(x0, x1, z2))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(f(z0))) -> c6(A__F(a__f(mark(z0))), MARK(f(z0))) by MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c)), MARK(f(c))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c)), MARK(f(c))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c)), MARK(f(c))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2 ---------------------------------------- (57) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_2, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2 ---------------------------------------- (59) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(if(z0, z1, z2))) -> c6(A__F(a__if(mark(z0), mark(z1), z2)), MARK(if(z0, z1, z2))) by MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, f(z0), x2)) -> c7(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(x0)) by MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(c, f(x1), x2)) -> c7(A__IF(c, a__f(mark(x1)), x2), MARK(c)) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2), MARK(true)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2), MARK(false)) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(c, f(x1), x2)) -> c7(A__IF(c, a__f(mark(x1)), x2), MARK(c)) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2), MARK(true)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(c, f(x1), x2)) -> c7(A__IF(c, a__f(mark(x1)), x2), MARK(c)) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2), MARK(true)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (63) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, f(x1), x2)) -> c7(A__IF(c, a__f(mark(x1)), x2), MARK(c)) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2), MARK(true)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2), MARK(true)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (67) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, if(z0, z1, z2), x2)) -> c7(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(x0)) by MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(c, if(x1, x2, x3), x4)) -> c7(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(c)) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(true)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(false)) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(c, if(x1, x2, x3), x4)) -> c7(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(c)) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(true)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(c, if(x1, x2, x3), x4)) -> c7(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(c)) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(true)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (69) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, if(x1, x2, x3), x4)) -> c7(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(c)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(true)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(true)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (71) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, c, x2)) -> c7(A__IF(mark(x0), c, x2), MARK(x0)) by MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(c, c, x1)) -> c7(A__IF(c, c, x1), MARK(c)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1), MARK(true)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1), MARK(false)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(c, c, x1)) -> c7(A__IF(c, c, x1), MARK(c)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1), MARK(true)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(c, c, x1)) -> c7(A__IF(c, c, x1), MARK(c)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1), MARK(true)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (75) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, c, x1)) -> c7(A__IF(c, c, x1), MARK(c)) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1), MARK(true)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1), MARK(true)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (77) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (79) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, true, x2)) -> c7(A__IF(mark(x0), true, x2), MARK(x0)) by MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(c, true, x1)) -> c7(A__IF(c, true, x1), MARK(c)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1), MARK(true)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1), MARK(false)) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(c, true, x1)) -> c7(A__IF(c, true, x1), MARK(c)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1), MARK(true)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(c, true, x1)) -> c7(A__IF(c, true, x1), MARK(c)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1), MARK(true)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (81) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, true, x1)) -> c7(A__IF(c, true, x1), MARK(c)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1), MARK(true)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1), MARK(true)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (83) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, false, x2)) -> c7(A__IF(mark(x0), false, x2), MARK(x0)) by MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(c, false, x1)) -> c7(A__IF(c, false, x1), MARK(c)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1), MARK(true)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1), MARK(false)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(c, false, x1)) -> c7(A__IF(c, false, x1), MARK(c)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1), MARK(true)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(c, false, x1)) -> c7(A__IF(c, false, x1), MARK(c)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1), MARK(true)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (87) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, false, x1)) -> c7(A__IF(c, false, x1), MARK(c)) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1), MARK(true)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1), MARK(false)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1), MARK(true)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (89) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (91) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(f(z0), x1, x2)) -> c7(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(f(z0))) by MARK(if(f(x0), f(z0), x2)) -> c7(A__IF(a__f(mark(x0)), a__f(mark(z0)), x2), MARK(f(x0))) MARK(if(f(x0), if(z0, z1, z2), x2)) -> c7(A__IF(a__f(mark(x0)), a__if(mark(z0), mark(z1), z2), x2), MARK(f(x0))) MARK(if(f(x0), c, x2)) -> c7(A__IF(a__f(mark(x0)), c, x2), MARK(f(x0))) MARK(if(f(x0), true, x2)) -> c7(A__IF(a__f(mark(x0)), true, x2), MARK(f(x0))) MARK(if(f(x0), false, x2)) -> c7(A__IF(a__f(mark(x0)), false, x2), MARK(f(x0))) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(x0), x1, x2)) -> c7(A__IF(f(mark(x0)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2), MARK(f(c))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(x0), x1, x2)) -> c7(A__IF(f(mark(x0)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2), MARK(f(c))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(x0), x1, x2)) -> c7(A__IF(f(mark(x0)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2), MARK(f(c))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (93) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_2, c7_1, c8_2, c8_1, c1_2, c6_2 ---------------------------------------- (95) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(if(z0, z1, z2), x1, x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(if(z0, z1, z2))) by MARK(if(if(x0, x1, x2), f(z0), x4)) -> c7(A__IF(a__if(mark(x0), mark(x1), x2), a__f(mark(z0)), x4), MARK(if(x0, x1, x2))) MARK(if(if(x0, x1, x2), if(z0, z1, z2), x4)) -> c7(A__IF(a__if(mark(x0), mark(x1), x2), a__if(mark(z0), mark(z1), z2), x4), MARK(if(x0, x1, x2))) MARK(if(if(x0, x1, x2), c, x4)) -> c7(A__IF(a__if(mark(x0), mark(x1), x2), c, x4), MARK(if(x0, x1, x2))) MARK(if(if(x0, x1, x2), true, x4)) -> c7(A__IF(a__if(mark(x0), mark(x1), x2), true, x4), MARK(if(x0, x1, x2))) MARK(if(if(x0, x1, x2), false, x4)) -> c7(A__IF(a__if(mark(x0), mark(x1), x2), false, x4), MARK(if(x0, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(if(x0, x1, z2))) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(if(x0, x1, z2))) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(if(x0, x1, z2))) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (99) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, f(z0), x2)) -> c8(A__IF(mark(x0), a__f(mark(z0)), x2), MARK(f(z0))) by MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2), MARK(f(c))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(c, f(x1), x2)) -> c8(A__IF(c, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2), MARK(f(c))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(c, f(x1), x2)) -> c8(A__IF(c, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2), MARK(f(c))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(c, f(x1), x2)) -> c8(A__IF(c, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (101) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (103) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, if(z0, z1, z2), x2)) -> c8(A__IF(mark(x0), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) by MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(A__IF(c, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (105) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (107) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(f(z0), x1, x2)) -> c8(A__IF(a__f(mark(z0)), mark(x1), x2), MARK(x1)) by MARK(if(f(x0), f(z0), x2)) -> c8(A__IF(a__f(mark(x0)), a__f(mark(z0)), x2), MARK(f(z0))) MARK(if(f(x0), if(z0, z1, z2), x2)) -> c8(A__IF(a__f(mark(x0)), a__if(mark(z0), mark(z1), z2), x2), MARK(if(z0, z1, z2))) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2), MARK(c)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2), MARK(true)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2), MARK(false)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(f(mark(x0)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2), MARK(c)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2), MARK(true)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2), MARK(false)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(f(mark(x0)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2), MARK(c)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2), MARK(true)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2), MARK(false)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(x0), x1, x2)) -> c8(A__IF(f(mark(x0)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (109) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (111) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(if(z0, z1, z2), x1, x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), mark(x1), x2), MARK(x1)) by MARK(if(if(x0, x1, x2), f(z0), x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), a__f(mark(z0)), x4), MARK(f(z0))) MARK(if(if(x0, x1, x2), if(z0, z1, z2), x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), a__if(mark(z0), mark(z1), z2), x4), MARK(if(z0, z1, z2))) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4), MARK(c)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4), MARK(true)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4), MARK(false)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4), MARK(c)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4), MARK(true)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4), MARK(false)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4), MARK(c)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4), MARK(true)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4), MARK(false)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(A__IF(if(mark(x0), mark(x1), z2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (113) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (115) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, c, x2)) -> c8(A__IF(mark(x0), c, x2)) by MARK(if(f(z0), c, x1)) -> c8(A__IF(a__f(mark(z0)), c, x1)) MARK(if(if(z0, z1, z2), c, x1)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), c, x1)) MARK(if(c, c, x1)) -> c8(A__IF(c, c, x1)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(c, c, x1)) -> c8(A__IF(c, c, x1)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(c, c, x1)) -> c8(A__IF(c, c, x1)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (117) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, c, x1)) -> c8(A__IF(c, c, x1)) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (119) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, true, x2)) -> c8(A__IF(mark(x0), true, x2)) by MARK(if(f(z0), true, x1)) -> c8(A__IF(a__f(mark(z0)), true, x1)) MARK(if(if(z0, z1, z2), true, x1)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), true, x1)) MARK(if(c, true, x1)) -> c8(A__IF(c, true, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(c, true, x1)) -> c8(A__IF(c, true, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(c, true, x1)) -> c8(A__IF(c, true, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (121) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, true, x1)) -> c8(A__IF(c, true, x1)) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (123) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(x0, false, x2)) -> c8(A__IF(mark(x0), false, x2)) by MARK(if(f(z0), false, x1)) -> c8(A__IF(a__f(mark(z0)), false, x1)) MARK(if(if(z0, z1, z2), false, x1)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), false, x1)) MARK(if(c, false, x1)) -> c8(A__IF(c, false, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(c, false, x1)) -> c8(A__IF(c, false, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(c, false, x1)) -> c8(A__IF(c, false, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (125) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, false, x1)) -> c8(A__IF(c, false, x1)) ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) S tuples: A__IF(true, z0, z1) -> c3(MARK(z0)) A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c3_1, c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2 ---------------------------------------- (127) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__IF(true, z0, z1) -> c3(MARK(z0)) by A__IF(true, f(true), z1) -> c3(MARK(f(true))) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(true), z1) -> c3(MARK(f(true))) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(true) -> c1(A__IF(true, c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(true)) -> c6(A__F(true)) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(true), z1) -> c3(MARK(f(true))) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing nodes: A__F(true) -> c1(A__IF(true, c, f(true))) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(f(true)) -> c6(A__F(true)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) A__IF(true, f(true), z1) -> c3(MARK(f(true))) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true)), MARK(f(true))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(true))) -> c6(A__F(a__f(true)), MARK(f(true))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2), MARK(f(true))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2), MARK(f(true))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (131) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (133) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(true, x1, x2)) -> c7(A__IF(true, mark(x1), x2)) by MARK(if(true, f(z0), x1)) -> c7(A__IF(true, a__f(mark(z0)), x1)) MARK(if(true, if(z0, z1, z2), x1)) -> c7(A__IF(true, a__if(mark(z0), mark(z1), z2), x1)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (135) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: MARK(if(true, false, x1)) -> c7(A__IF(true, false, x1)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) MARK(if(true, c, x1)) -> c7(A__IF(true, c, x1)) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (137) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(if(true, x1, x2)) -> c8(A__IF(true, mark(x1), x2), MARK(x1)) by MARK(if(true, f(z0), x1)) -> c8(A__IF(true, a__f(mark(z0)), x1), MARK(f(z0))) MARK(if(true, if(z0, z1, z2), x1)) -> c8(A__IF(true, a__if(mark(z0), mark(z1), z2), x1), MARK(if(z0, z1, z2))) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1), MARK(c)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1), MARK(true)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1), MARK(false)) ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1), MARK(c)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1), MARK(true)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1), MARK(false)) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1), MARK(c)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1), MARK(true)) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1), MARK(false)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (139) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1), MARK(c)) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1), MARK(false)) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1), MARK(true)) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) S tuples: A__IF(false, z0, z1) -> c4(MARK(z1)) A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__IF_3, A__F_1, MARK_1 Compound Symbols: c4_1, c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1 ---------------------------------------- (141) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__IF(false, z0, z1) -> c4(MARK(z1)) by A__IF(false, z0, f(false)) -> c4(MARK(f(false))) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, f(false)) -> c4(MARK(f(false))) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) S tuples: A__F(false) -> c1(A__IF(false, c, f(true))) MARK(f(false)) -> c6(A__F(false)) MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, f(false)) -> c4(MARK(f(false))) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: A__F_1, MARK_1, A__IF_3 Compound Symbols: c1_1, c6_1, c7_1, c8_2, c8_1, c1_2, c6_2, c7_2, c3_1, c4_1 ---------------------------------------- (143) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing nodes: A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) MARK(f(false)) -> c6(A__F(false)) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(false) -> c1(A__IF(false, c, f(true))) A__IF(false, z0, f(false)) -> c4(MARK(f(false))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) A__IF(true, f(false), z1) -> c3(MARK(f(false))) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(A__IF(a__if(mark(mark(x0)), c, f(true)), c, f(true)), MARK(f(x0))) A__F(f(f(z0))) -> c1(A__IF(a__f(a__f(mark(z0))), c, f(true)), MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), c, f(true)), MARK(f(if(z0, z1, z2)))) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, f(z0), x2)) -> c1(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), c, f(true)), MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), c, f(true)), MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(A__IF(a__if(mark(x0), c, x2), c, f(true)), MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(A__IF(a__if(mark(x0), true, x2), c, f(true)), MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(A__IF(a__if(mark(x0), false, x2), c, f(true)), MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), c, f(true)), MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), c, f(true)), MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(A__IF(a__if(c, mark(x1), x2), c, f(true)), MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(A__IF(a__if(true, mark(x1), x2), c, f(true)), MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(A__IF(a__if(false, mark(x1), x2), c, f(true)), MARK(if(false, x1, x2))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(false))) -> c6(A__F(a__f(false)), MARK(f(false))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2), MARK(f(false))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2), MARK(f(false))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c8_1, c1_2, c1_1, c6_2, c6_1, c7_2, c3_1, c4_1 ---------------------------------------- (145) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 16 trailing tuple parts ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(if(c, x1, x2)) -> c8(MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c8_1, c1_1, c6_2, c6_1, c7_2, c3_1, c4_1 ---------------------------------------- (147) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(if(c, x1, x2)) -> c8(MARK(x1)) by MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c1_1, c6_2, c6_1, c7_2, c8_1, c3_1, c4_1 ---------------------------------------- (149) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(f(x0)) -> c1(MARK(f(x0))) by A__F(f(f(y0))) -> c1(MARK(f(f(y0)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, y1, y2))) -> c1(MARK(f(if(y0, y1, y2)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) ---------------------------------------- (150) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c1_1, c6_2, c6_1, c7_2, c8_1, c3_1, c4_1 ---------------------------------------- (151) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(if(x0, x1, z2)) -> c1(MARK(if(x0, x1, z2))) by A__F(if(false, z1, z2)) -> c1(MARK(if(false, z1, z2))) A__F(if(z0, f(y1), z2)) -> c1(MARK(if(z0, f(y1), z2))) A__F(if(z0, f(f(y1)), z2)) -> c1(MARK(if(z0, f(f(y1)), z2))) A__F(if(z0, f(if(y1, y2, y3)), z2)) -> c1(MARK(if(z0, f(if(y1, y2, y3)), z2))) A__F(if(z0, f(c), z2)) -> c1(MARK(if(z0, f(c), z2))) A__F(if(z0, f(true), z2)) -> c1(MARK(if(z0, f(true), z2))) A__F(if(z0, f(false), z2)) -> c1(MARK(if(z0, f(false), z2))) A__F(if(f(y0), f(y1), z2)) -> c1(MARK(if(f(y0), f(y1), z2))) A__F(if(if(y0, y1, y2), f(y3), z2)) -> c1(MARK(if(if(y0, y1, y2), f(y3), z2))) A__F(if(true, f(y0), z2)) -> c1(MARK(if(true, f(y0), z2))) A__F(if(false, f(y0), z2)) -> c1(MARK(if(false, f(y0), z2))) A__F(if(z0, if(y1, y2, y3), z2)) -> c1(MARK(if(z0, if(y1, y2, y3), z2))) A__F(if(z0, if(y1, f(y2), y3), z2)) -> c1(MARK(if(z0, if(y1, f(y2), y3), z2))) A__F(if(z0, if(y1, if(y2, y3, y4), y5), z2)) -> c1(MARK(if(z0, if(y1, if(y2, y3, y4), y5), z2))) A__F(if(z0, if(y1, c, y2), z2)) -> c1(MARK(if(z0, if(y1, c, y2), z2))) A__F(if(z0, if(y1, true, y2), z2)) -> c1(MARK(if(z0, if(y1, true, y2), z2))) A__F(if(z0, if(y1, false, y2), z2)) -> c1(MARK(if(z0, if(y1, false, y2), z2))) A__F(if(z0, if(f(y1), y2, y3), z2)) -> c1(MARK(if(z0, if(f(y1), y2, y3), z2))) A__F(if(z0, if(if(y1, y2, y3), y4, y5), z2)) -> c1(MARK(if(z0, if(if(y1, y2, y3), y4, y5), z2))) A__F(if(z0, if(c, y1, y2), z2)) -> c1(MARK(if(z0, if(c, y1, y2), z2))) A__F(if(z0, if(true, y1, y2), z2)) -> c1(MARK(if(z0, if(true, y1, y2), z2))) A__F(if(z0, if(false, y1, y2), z2)) -> c1(MARK(if(z0, if(false, y1, y2), z2))) A__F(if(f(y0), if(y1, y2, y3), z2)) -> c1(MARK(if(f(y0), if(y1, y2, y3), z2))) A__F(if(if(y0, y1, y2), if(y3, y4, y5), z2)) -> c1(MARK(if(if(y0, y1, y2), if(y3, y4, y5), z2))) A__F(if(true, if(y0, y1, y2), z2)) -> c1(MARK(if(true, if(y0, y1, y2), z2))) A__F(if(false, if(y0, y1, y2), z2)) -> c1(MARK(if(false, if(y0, y1, y2), z2))) A__F(if(f(y0), c, z2)) -> c1(MARK(if(f(y0), c, z2))) A__F(if(if(y0, y1, y2), c, z2)) -> c1(MARK(if(if(y0, y1, y2), c, z2))) A__F(if(false, c, z2)) -> c1(MARK(if(false, c, z2))) A__F(if(f(y0), true, z2)) -> c1(MARK(if(f(y0), true, z2))) A__F(if(if(y0, y1, y2), true, z2)) -> c1(MARK(if(if(y0, y1, y2), true, z2))) A__F(if(false, true, z2)) -> c1(MARK(if(false, true, z2))) A__F(if(f(y0), false, z2)) -> c1(MARK(if(f(y0), false, z2))) A__F(if(if(y0, y1, y2), false, z2)) -> c1(MARK(if(if(y0, y1, y2), false, z2))) A__F(if(false, false, z2)) -> c1(MARK(if(false, false, z2))) A__F(if(f(y0), z1, z2)) -> c1(MARK(if(f(y0), z1, z2))) A__F(if(f(f(y0)), z1, z2)) -> c1(MARK(if(f(f(y0)), z1, z2))) A__F(if(f(if(y0, y1, y2)), z1, z2)) -> c1(MARK(if(f(if(y0, y1, y2)), z1, z2))) A__F(if(f(c), z1, z2)) -> c1(MARK(if(f(c), z1, z2))) A__F(if(if(y0, f(y1), y2), z1, z2)) -> c1(MARK(if(if(y0, f(y1), y2), z1, z2))) A__F(if(if(y0, if(y1, y2, y3), y4), z1, z2)) -> c1(MARK(if(if(y0, if(y1, y2, y3), y4), z1, z2))) A__F(if(if(y0, c, y1), z1, z2)) -> c1(MARK(if(if(y0, c, y1), z1, z2))) A__F(if(if(y0, true, y1), z1, z2)) -> c1(MARK(if(if(y0, true, y1), z1, z2))) A__F(if(if(y0, false, y1), z1, z2)) -> c1(MARK(if(if(y0, false, y1), z1, z2))) A__F(if(if(f(y0), y1, y2), z1, z2)) -> c1(MARK(if(if(f(y0), y1, y2), z1, z2))) A__F(if(if(if(y0, y1, y2), y3, y4), z1, z2)) -> c1(MARK(if(if(if(y0, y1, y2), y3, y4), z1, z2))) A__F(if(if(c, y0, y1), z1, z2)) -> c1(MARK(if(if(c, y0, y1), z1, z2))) A__F(if(if(true, y0, y1), z1, z2)) -> c1(MARK(if(if(true, y0, y1), z1, z2))) A__F(if(if(false, y0, y1), z1, z2)) -> c1(MARK(if(if(false, y0, y1), z1, z2))) A__F(if(if(y0, y1, y2), z1, z2)) -> c1(MARK(if(if(y0, y1, y2), z1, z2))) A__F(if(c, f(y0), z2)) -> c1(MARK(if(c, f(y0), z2))) A__F(if(c, if(y0, y1, y2), z2)) -> c1(MARK(if(c, if(y0, y1, y2), z2))) A__F(if(f(true), z1, z2)) -> c1(MARK(if(f(true), z1, z2))) A__F(if(f(false), z1, z2)) -> c1(MARK(if(f(false), z1, z2))) A__F(if(c, if(false, y0, y1), z2)) -> c1(MARK(if(c, if(false, y0, y1), z2))) A__F(if(c, if(c, y0, y1), z2)) -> c1(MARK(if(c, if(c, y0, y1), z2))) A__F(if(c, f(f(y0)), z2)) -> c1(MARK(if(c, f(f(y0)), z2))) A__F(if(c, f(f(f(y0))), z2)) -> c1(MARK(if(c, f(f(f(y0))), z2))) A__F(if(c, f(f(if(y0, y1, y2))), z2)) -> c1(MARK(if(c, f(f(if(y0, y1, y2))), z2))) A__F(if(c, f(f(c)), z2)) -> c1(MARK(if(c, f(f(c)), z2))) A__F(if(c, f(if(y0, y1, y2)), z2)) -> c1(MARK(if(c, f(if(y0, y1, y2)), z2))) A__F(if(c, f(if(y0, f(y1), y2)), z2)) -> c1(MARK(if(c, f(if(y0, f(y1), y2)), z2))) A__F(if(c, f(if(y0, if(y1, y2, y3), y4)), z2)) -> c1(MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z2))) A__F(if(c, f(if(y0, c, y1)), z2)) -> c1(MARK(if(c, f(if(y0, c, y1)), z2))) A__F(if(c, f(if(y0, true, y1)), z2)) -> c1(MARK(if(c, f(if(y0, true, y1)), z2))) A__F(if(c, f(if(y0, false, y1)), z2)) -> c1(MARK(if(c, f(if(y0, false, y1)), z2))) A__F(if(c, f(if(f(y0), y1, y2)), z2)) -> c1(MARK(if(c, f(if(f(y0), y1, y2)), z2))) A__F(if(c, f(if(if(y0, y1, y2), y3, y4)), z2)) -> c1(MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z2))) A__F(if(c, f(if(c, y0, y1)), z2)) -> c1(MARK(if(c, f(if(c, y0, y1)), z2))) A__F(if(c, f(if(true, y0, y1)), z2)) -> c1(MARK(if(c, f(if(true, y0, y1)), z2))) A__F(if(c, f(if(false, y0, y1)), z2)) -> c1(MARK(if(c, f(if(false, y0, y1)), z2))) A__F(if(c, if(y0, f(y1), y2), z2)) -> c1(MARK(if(c, if(y0, f(y1), y2), z2))) A__F(if(c, if(y0, f(f(y1)), y2), z2)) -> c1(MARK(if(c, if(y0, f(f(y1)), y2), z2))) A__F(if(c, if(y0, f(if(y1, y2, y3)), y4), z2)) -> c1(MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z2))) A__F(if(c, if(y0, f(c), y1), z2)) -> c1(MARK(if(c, if(y0, f(c), y1), z2))) A__F(if(c, if(y0, f(true), y1), z2)) -> c1(MARK(if(c, if(y0, f(true), y1), z2))) A__F(if(c, if(y0, f(false), y1), z2)) -> c1(MARK(if(c, if(y0, f(false), y1), z2))) A__F(if(c, if(f(y0), f(y1), y2), z2)) -> c1(MARK(if(c, if(f(y0), f(y1), y2), z2))) A__F(if(c, if(if(y0, y1, y2), f(y3), y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z2))) A__F(if(c, if(true, f(y0), y1), z2)) -> c1(MARK(if(c, if(true, f(y0), y1), z2))) A__F(if(c, if(false, f(y0), y1), z2)) -> c1(MARK(if(c, if(false, f(y0), y1), z2))) A__F(if(c, if(y0, if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, y2, y3), y4), z2))) A__F(if(c, if(y0, if(y1, f(y2), y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z2))) A__F(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2))) A__F(if(c, if(y0, if(y1, c, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, c, y2), y3), z2))) A__F(if(c, if(y0, if(y1, true, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, true, y2), y3), z2))) A__F(if(c, if(y0, if(y1, false, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, false, y2), y3), z2))) A__F(if(c, if(y0, if(f(y1), y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z2))) A__F(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2))) A__F(if(c, if(y0, if(c, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(c, y1, y2), y3), z2))) A__F(if(c, if(y0, if(true, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(true, y1, y2), y3), z2))) A__F(if(c, if(y0, if(false, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(false, y1, y2), y3), z2))) A__F(if(c, if(f(y0), if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z2))) A__F(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2))) A__F(if(c, if(true, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(true, if(y0, y1, y2), y3), z2))) A__F(if(c, if(false, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(false, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(y0), c, y1), z2)) -> c1(MARK(if(c, if(f(y0), c, y1), z2))) A__F(if(c, if(if(y0, y1, y2), c, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), c, y3), z2))) A__F(if(c, if(false, c, y0), z2)) -> c1(MARK(if(c, if(false, c, y0), z2))) A__F(if(c, if(f(y0), true, y1), z2)) -> c1(MARK(if(c, if(f(y0), true, y1), z2))) A__F(if(c, if(if(y0, y1, y2), true, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), true, y3), z2))) A__F(if(c, if(false, true, y0), z2)) -> c1(MARK(if(c, if(false, true, y0), z2))) A__F(if(c, if(f(y0), false, y1), z2)) -> c1(MARK(if(c, if(f(y0), false, y1), z2))) A__F(if(c, if(if(y0, y1, y2), false, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), false, y3), z2))) A__F(if(c, if(false, false, y0), z2)) -> c1(MARK(if(c, if(false, false, y0), z2))) A__F(if(c, if(f(y0), y1, y2), z2)) -> c1(MARK(if(c, if(f(y0), y1, y2), z2))) A__F(if(c, if(f(f(y0)), y1, y2), z2)) -> c1(MARK(if(c, if(f(f(y0)), y1, y2), z2))) A__F(if(c, if(f(if(y0, y1, y2)), y3, y4), z2)) -> c1(MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z2))) A__F(if(c, if(f(c), y0, y1), z2)) -> c1(MARK(if(c, if(f(c), y0, y1), z2))) A__F(if(c, if(if(y0, f(y1), y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z2))) A__F(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2))) A__F(if(c, if(if(y0, c, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, c, y1), y2, y3), z2))) A__F(if(c, if(if(y0, true, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, true, y1), y2, y3), z2))) A__F(if(c, if(if(y0, false, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, false, y1), y2, y3), z2))) A__F(if(c, if(if(f(y0), y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z2))) A__F(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2))) A__F(if(c, if(if(c, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(c, y0, y1), y2, y3), z2))) A__F(if(c, if(if(true, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(true, y0, y1), y2, y3), z2))) A__F(if(c, if(if(false, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(false, y0, y1), y2, y3), z2))) A__F(if(c, if(if(y0, y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), y3, y4), z2))) A__F(if(c, if(c, f(y0), y1), z2)) -> c1(MARK(if(c, if(c, f(y0), y1), z2))) A__F(if(c, if(c, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(c, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(true), y0, y1), z2)) -> c1(MARK(if(c, if(f(true), y0, y1), z2))) A__F(if(c, if(f(false), y0, y1), z2)) -> c1(MARK(if(c, if(f(false), y0, y1), z2))) A__F(if(c, f(f(true)), z2)) -> c1(MARK(if(c, f(f(true)), z2))) A__F(if(c, f(f(false)), z2)) -> c1(MARK(if(c, f(f(false)), z2))) ---------------------------------------- (152) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) A__F(if(z0, f(f(y1)), z2)) -> c1(MARK(if(z0, f(f(y1)), z2))) A__F(if(z0, f(if(y1, y2, y3)), z2)) -> c1(MARK(if(z0, f(if(y1, y2, y3)), z2))) A__F(if(z0, f(c), z2)) -> c1(MARK(if(z0, f(c), z2))) A__F(if(z0, f(true), z2)) -> c1(MARK(if(z0, f(true), z2))) A__F(if(z0, f(false), z2)) -> c1(MARK(if(z0, f(false), z2))) A__F(if(f(y0), f(y1), z2)) -> c1(MARK(if(f(y0), f(y1), z2))) A__F(if(if(y0, y1, y2), f(y3), z2)) -> c1(MARK(if(if(y0, y1, y2), f(y3), z2))) A__F(if(true, f(y0), z2)) -> c1(MARK(if(true, f(y0), z2))) A__F(if(false, f(y0), z2)) -> c1(MARK(if(false, f(y0), z2))) A__F(if(z0, if(y1, f(y2), y3), z2)) -> c1(MARK(if(z0, if(y1, f(y2), y3), z2))) A__F(if(z0, if(y1, if(y2, y3, y4), y5), z2)) -> c1(MARK(if(z0, if(y1, if(y2, y3, y4), y5), z2))) A__F(if(z0, if(y1, c, y2), z2)) -> c1(MARK(if(z0, if(y1, c, y2), z2))) A__F(if(z0, if(y1, true, y2), z2)) -> c1(MARK(if(z0, if(y1, true, y2), z2))) A__F(if(z0, if(y1, false, y2), z2)) -> c1(MARK(if(z0, if(y1, false, y2), z2))) A__F(if(z0, if(f(y1), y2, y3), z2)) -> c1(MARK(if(z0, if(f(y1), y2, y3), z2))) A__F(if(z0, if(if(y1, y2, y3), y4, y5), z2)) -> c1(MARK(if(z0, if(if(y1, y2, y3), y4, y5), z2))) A__F(if(z0, if(c, y1, y2), z2)) -> c1(MARK(if(z0, if(c, y1, y2), z2))) A__F(if(z0, if(true, y1, y2), z2)) -> c1(MARK(if(z0, if(true, y1, y2), z2))) A__F(if(z0, if(false, y1, y2), z2)) -> c1(MARK(if(z0, if(false, y1, y2), z2))) A__F(if(f(y0), if(y1, y2, y3), z2)) -> c1(MARK(if(f(y0), if(y1, y2, y3), z2))) A__F(if(if(y0, y1, y2), if(y3, y4, y5), z2)) -> c1(MARK(if(if(y0, y1, y2), if(y3, y4, y5), z2))) A__F(if(true, if(y0, y1, y2), z2)) -> c1(MARK(if(true, if(y0, y1, y2), z2))) A__F(if(false, if(y0, y1, y2), z2)) -> c1(MARK(if(false, if(y0, y1, y2), z2))) A__F(if(f(y0), c, z2)) -> c1(MARK(if(f(y0), c, z2))) A__F(if(if(y0, y1, y2), c, z2)) -> c1(MARK(if(if(y0, y1, y2), c, z2))) A__F(if(false, c, z2)) -> c1(MARK(if(false, c, z2))) A__F(if(f(y0), true, z2)) -> c1(MARK(if(f(y0), true, z2))) A__F(if(if(y0, y1, y2), true, z2)) -> c1(MARK(if(if(y0, y1, y2), true, z2))) A__F(if(false, true, z2)) -> c1(MARK(if(false, true, z2))) A__F(if(f(y0), false, z2)) -> c1(MARK(if(f(y0), false, z2))) A__F(if(if(y0, y1, y2), false, z2)) -> c1(MARK(if(if(y0, y1, y2), false, z2))) A__F(if(false, false, z2)) -> c1(MARK(if(false, false, z2))) A__F(if(f(f(y0)), z1, z2)) -> c1(MARK(if(f(f(y0)), z1, z2))) A__F(if(f(if(y0, y1, y2)), z1, z2)) -> c1(MARK(if(f(if(y0, y1, y2)), z1, z2))) A__F(if(f(c), z1, z2)) -> c1(MARK(if(f(c), z1, z2))) A__F(if(if(y0, f(y1), y2), z1, z2)) -> c1(MARK(if(if(y0, f(y1), y2), z1, z2))) A__F(if(if(y0, if(y1, y2, y3), y4), z1, z2)) -> c1(MARK(if(if(y0, if(y1, y2, y3), y4), z1, z2))) A__F(if(if(y0, c, y1), z1, z2)) -> c1(MARK(if(if(y0, c, y1), z1, z2))) A__F(if(if(y0, true, y1), z1, z2)) -> c1(MARK(if(if(y0, true, y1), z1, z2))) A__F(if(if(y0, false, y1), z1, z2)) -> c1(MARK(if(if(y0, false, y1), z1, z2))) A__F(if(if(f(y0), y1, y2), z1, z2)) -> c1(MARK(if(if(f(y0), y1, y2), z1, z2))) A__F(if(if(if(y0, y1, y2), y3, y4), z1, z2)) -> c1(MARK(if(if(if(y0, y1, y2), y3, y4), z1, z2))) A__F(if(if(c, y0, y1), z1, z2)) -> c1(MARK(if(if(c, y0, y1), z1, z2))) A__F(if(if(true, y0, y1), z1, z2)) -> c1(MARK(if(if(true, y0, y1), z1, z2))) A__F(if(if(false, y0, y1), z1, z2)) -> c1(MARK(if(if(false, y0, y1), z1, z2))) A__F(if(c, f(y0), z2)) -> c1(MARK(if(c, f(y0), z2))) A__F(if(c, if(y0, y1, y2), z2)) -> c1(MARK(if(c, if(y0, y1, y2), z2))) A__F(if(f(true), z1, z2)) -> c1(MARK(if(f(true), z1, z2))) A__F(if(f(false), z1, z2)) -> c1(MARK(if(f(false), z1, z2))) A__F(if(c, if(false, y0, y1), z2)) -> c1(MARK(if(c, if(false, y0, y1), z2))) A__F(if(c, if(c, y0, y1), z2)) -> c1(MARK(if(c, if(c, y0, y1), z2))) A__F(if(c, f(f(y0)), z2)) -> c1(MARK(if(c, f(f(y0)), z2))) A__F(if(c, f(f(f(y0))), z2)) -> c1(MARK(if(c, f(f(f(y0))), z2))) A__F(if(c, f(f(if(y0, y1, y2))), z2)) -> c1(MARK(if(c, f(f(if(y0, y1, y2))), z2))) A__F(if(c, f(f(c)), z2)) -> c1(MARK(if(c, f(f(c)), z2))) A__F(if(c, f(if(y0, y1, y2)), z2)) -> c1(MARK(if(c, f(if(y0, y1, y2)), z2))) A__F(if(c, f(if(y0, f(y1), y2)), z2)) -> c1(MARK(if(c, f(if(y0, f(y1), y2)), z2))) A__F(if(c, f(if(y0, if(y1, y2, y3), y4)), z2)) -> c1(MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z2))) A__F(if(c, f(if(y0, c, y1)), z2)) -> c1(MARK(if(c, f(if(y0, c, y1)), z2))) A__F(if(c, f(if(y0, true, y1)), z2)) -> c1(MARK(if(c, f(if(y0, true, y1)), z2))) A__F(if(c, f(if(y0, false, y1)), z2)) -> c1(MARK(if(c, f(if(y0, false, y1)), z2))) A__F(if(c, f(if(f(y0), y1, y2)), z2)) -> c1(MARK(if(c, f(if(f(y0), y1, y2)), z2))) A__F(if(c, f(if(if(y0, y1, y2), y3, y4)), z2)) -> c1(MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z2))) A__F(if(c, f(if(c, y0, y1)), z2)) -> c1(MARK(if(c, f(if(c, y0, y1)), z2))) A__F(if(c, f(if(true, y0, y1)), z2)) -> c1(MARK(if(c, f(if(true, y0, y1)), z2))) A__F(if(c, f(if(false, y0, y1)), z2)) -> c1(MARK(if(c, f(if(false, y0, y1)), z2))) A__F(if(c, if(y0, f(y1), y2), z2)) -> c1(MARK(if(c, if(y0, f(y1), y2), z2))) A__F(if(c, if(y0, f(f(y1)), y2), z2)) -> c1(MARK(if(c, if(y0, f(f(y1)), y2), z2))) A__F(if(c, if(y0, f(if(y1, y2, y3)), y4), z2)) -> c1(MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z2))) A__F(if(c, if(y0, f(c), y1), z2)) -> c1(MARK(if(c, if(y0, f(c), y1), z2))) A__F(if(c, if(y0, f(true), y1), z2)) -> c1(MARK(if(c, if(y0, f(true), y1), z2))) A__F(if(c, if(y0, f(false), y1), z2)) -> c1(MARK(if(c, if(y0, f(false), y1), z2))) A__F(if(c, if(f(y0), f(y1), y2), z2)) -> c1(MARK(if(c, if(f(y0), f(y1), y2), z2))) A__F(if(c, if(if(y0, y1, y2), f(y3), y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z2))) A__F(if(c, if(true, f(y0), y1), z2)) -> c1(MARK(if(c, if(true, f(y0), y1), z2))) A__F(if(c, if(false, f(y0), y1), z2)) -> c1(MARK(if(c, if(false, f(y0), y1), z2))) A__F(if(c, if(y0, if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, y2, y3), y4), z2))) A__F(if(c, if(y0, if(y1, f(y2), y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z2))) A__F(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2))) A__F(if(c, if(y0, if(y1, c, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, c, y2), y3), z2))) A__F(if(c, if(y0, if(y1, true, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, true, y2), y3), z2))) A__F(if(c, if(y0, if(y1, false, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, false, y2), y3), z2))) A__F(if(c, if(y0, if(f(y1), y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z2))) A__F(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2))) A__F(if(c, if(y0, if(c, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(c, y1, y2), y3), z2))) A__F(if(c, if(y0, if(true, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(true, y1, y2), y3), z2))) A__F(if(c, if(y0, if(false, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(false, y1, y2), y3), z2))) A__F(if(c, if(f(y0), if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z2))) A__F(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2))) A__F(if(c, if(true, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(true, if(y0, y1, y2), y3), z2))) A__F(if(c, if(false, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(false, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(y0), c, y1), z2)) -> c1(MARK(if(c, if(f(y0), c, y1), z2))) A__F(if(c, if(if(y0, y1, y2), c, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), c, y3), z2))) A__F(if(c, if(false, c, y0), z2)) -> c1(MARK(if(c, if(false, c, y0), z2))) A__F(if(c, if(f(y0), true, y1), z2)) -> c1(MARK(if(c, if(f(y0), true, y1), z2))) A__F(if(c, if(if(y0, y1, y2), true, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), true, y3), z2))) A__F(if(c, if(false, true, y0), z2)) -> c1(MARK(if(c, if(false, true, y0), z2))) A__F(if(c, if(f(y0), false, y1), z2)) -> c1(MARK(if(c, if(f(y0), false, y1), z2))) A__F(if(c, if(if(y0, y1, y2), false, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), false, y3), z2))) A__F(if(c, if(false, false, y0), z2)) -> c1(MARK(if(c, if(false, false, y0), z2))) A__F(if(c, if(f(y0), y1, y2), z2)) -> c1(MARK(if(c, if(f(y0), y1, y2), z2))) A__F(if(c, if(f(f(y0)), y1, y2), z2)) -> c1(MARK(if(c, if(f(f(y0)), y1, y2), z2))) A__F(if(c, if(f(if(y0, y1, y2)), y3, y4), z2)) -> c1(MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z2))) A__F(if(c, if(f(c), y0, y1), z2)) -> c1(MARK(if(c, if(f(c), y0, y1), z2))) A__F(if(c, if(if(y0, f(y1), y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z2))) A__F(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2))) A__F(if(c, if(if(y0, c, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, c, y1), y2, y3), z2))) A__F(if(c, if(if(y0, true, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, true, y1), y2, y3), z2))) A__F(if(c, if(if(y0, false, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, false, y1), y2, y3), z2))) A__F(if(c, if(if(f(y0), y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z2))) A__F(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2))) A__F(if(c, if(if(c, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(c, y0, y1), y2, y3), z2))) A__F(if(c, if(if(true, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(true, y0, y1), y2, y3), z2))) A__F(if(c, if(if(false, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(false, y0, y1), y2, y3), z2))) A__F(if(c, if(if(y0, y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), y3, y4), z2))) A__F(if(c, if(c, f(y0), y1), z2)) -> c1(MARK(if(c, if(c, f(y0), y1), z2))) A__F(if(c, if(c, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(c, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(true), y0, y1), z2)) -> c1(MARK(if(c, if(f(true), y0, y1), z2))) A__F(if(c, if(f(false), y0, y1), z2)) -> c1(MARK(if(c, if(f(false), y0, y1), z2))) A__F(if(c, f(f(true)), z2)) -> c1(MARK(if(c, f(f(true)), z2))) A__F(if(c, f(f(false)), z2)) -> c1(MARK(if(c, f(f(false)), z2))) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) A__F(if(z0, f(f(y1)), z2)) -> c1(MARK(if(z0, f(f(y1)), z2))) A__F(if(z0, f(if(y1, y2, y3)), z2)) -> c1(MARK(if(z0, f(if(y1, y2, y3)), z2))) A__F(if(z0, f(c), z2)) -> c1(MARK(if(z0, f(c), z2))) A__F(if(z0, f(true), z2)) -> c1(MARK(if(z0, f(true), z2))) A__F(if(z0, f(false), z2)) -> c1(MARK(if(z0, f(false), z2))) A__F(if(f(y0), f(y1), z2)) -> c1(MARK(if(f(y0), f(y1), z2))) A__F(if(if(y0, y1, y2), f(y3), z2)) -> c1(MARK(if(if(y0, y1, y2), f(y3), z2))) A__F(if(true, f(y0), z2)) -> c1(MARK(if(true, f(y0), z2))) A__F(if(false, f(y0), z2)) -> c1(MARK(if(false, f(y0), z2))) A__F(if(z0, if(y1, f(y2), y3), z2)) -> c1(MARK(if(z0, if(y1, f(y2), y3), z2))) A__F(if(z0, if(y1, if(y2, y3, y4), y5), z2)) -> c1(MARK(if(z0, if(y1, if(y2, y3, y4), y5), z2))) A__F(if(z0, if(y1, c, y2), z2)) -> c1(MARK(if(z0, if(y1, c, y2), z2))) A__F(if(z0, if(y1, true, y2), z2)) -> c1(MARK(if(z0, if(y1, true, y2), z2))) A__F(if(z0, if(y1, false, y2), z2)) -> c1(MARK(if(z0, if(y1, false, y2), z2))) A__F(if(z0, if(f(y1), y2, y3), z2)) -> c1(MARK(if(z0, if(f(y1), y2, y3), z2))) A__F(if(z0, if(if(y1, y2, y3), y4, y5), z2)) -> c1(MARK(if(z0, if(if(y1, y2, y3), y4, y5), z2))) A__F(if(z0, if(c, y1, y2), z2)) -> c1(MARK(if(z0, if(c, y1, y2), z2))) A__F(if(z0, if(true, y1, y2), z2)) -> c1(MARK(if(z0, if(true, y1, y2), z2))) A__F(if(z0, if(false, y1, y2), z2)) -> c1(MARK(if(z0, if(false, y1, y2), z2))) A__F(if(f(y0), if(y1, y2, y3), z2)) -> c1(MARK(if(f(y0), if(y1, y2, y3), z2))) A__F(if(if(y0, y1, y2), if(y3, y4, y5), z2)) -> c1(MARK(if(if(y0, y1, y2), if(y3, y4, y5), z2))) A__F(if(true, if(y0, y1, y2), z2)) -> c1(MARK(if(true, if(y0, y1, y2), z2))) A__F(if(false, if(y0, y1, y2), z2)) -> c1(MARK(if(false, if(y0, y1, y2), z2))) A__F(if(f(y0), c, z2)) -> c1(MARK(if(f(y0), c, z2))) A__F(if(if(y0, y1, y2), c, z2)) -> c1(MARK(if(if(y0, y1, y2), c, z2))) A__F(if(false, c, z2)) -> c1(MARK(if(false, c, z2))) A__F(if(f(y0), true, z2)) -> c1(MARK(if(f(y0), true, z2))) A__F(if(if(y0, y1, y2), true, z2)) -> c1(MARK(if(if(y0, y1, y2), true, z2))) A__F(if(false, true, z2)) -> c1(MARK(if(false, true, z2))) A__F(if(f(y0), false, z2)) -> c1(MARK(if(f(y0), false, z2))) A__F(if(if(y0, y1, y2), false, z2)) -> c1(MARK(if(if(y0, y1, y2), false, z2))) A__F(if(false, false, z2)) -> c1(MARK(if(false, false, z2))) A__F(if(f(f(y0)), z1, z2)) -> c1(MARK(if(f(f(y0)), z1, z2))) A__F(if(f(if(y0, y1, y2)), z1, z2)) -> c1(MARK(if(f(if(y0, y1, y2)), z1, z2))) A__F(if(f(c), z1, z2)) -> c1(MARK(if(f(c), z1, z2))) A__F(if(if(y0, f(y1), y2), z1, z2)) -> c1(MARK(if(if(y0, f(y1), y2), z1, z2))) A__F(if(if(y0, if(y1, y2, y3), y4), z1, z2)) -> c1(MARK(if(if(y0, if(y1, y2, y3), y4), z1, z2))) A__F(if(if(y0, c, y1), z1, z2)) -> c1(MARK(if(if(y0, c, y1), z1, z2))) A__F(if(if(y0, true, y1), z1, z2)) -> c1(MARK(if(if(y0, true, y1), z1, z2))) A__F(if(if(y0, false, y1), z1, z2)) -> c1(MARK(if(if(y0, false, y1), z1, z2))) A__F(if(if(f(y0), y1, y2), z1, z2)) -> c1(MARK(if(if(f(y0), y1, y2), z1, z2))) A__F(if(if(if(y0, y1, y2), y3, y4), z1, z2)) -> c1(MARK(if(if(if(y0, y1, y2), y3, y4), z1, z2))) A__F(if(if(c, y0, y1), z1, z2)) -> c1(MARK(if(if(c, y0, y1), z1, z2))) A__F(if(if(true, y0, y1), z1, z2)) -> c1(MARK(if(if(true, y0, y1), z1, z2))) A__F(if(if(false, y0, y1), z1, z2)) -> c1(MARK(if(if(false, y0, y1), z1, z2))) A__F(if(c, f(y0), z2)) -> c1(MARK(if(c, f(y0), z2))) A__F(if(c, if(y0, y1, y2), z2)) -> c1(MARK(if(c, if(y0, y1, y2), z2))) A__F(if(f(true), z1, z2)) -> c1(MARK(if(f(true), z1, z2))) A__F(if(f(false), z1, z2)) -> c1(MARK(if(f(false), z1, z2))) A__F(if(c, if(false, y0, y1), z2)) -> c1(MARK(if(c, if(false, y0, y1), z2))) A__F(if(c, if(c, y0, y1), z2)) -> c1(MARK(if(c, if(c, y0, y1), z2))) A__F(if(c, f(f(y0)), z2)) -> c1(MARK(if(c, f(f(y0)), z2))) A__F(if(c, f(f(f(y0))), z2)) -> c1(MARK(if(c, f(f(f(y0))), z2))) A__F(if(c, f(f(if(y0, y1, y2))), z2)) -> c1(MARK(if(c, f(f(if(y0, y1, y2))), z2))) A__F(if(c, f(f(c)), z2)) -> c1(MARK(if(c, f(f(c)), z2))) A__F(if(c, f(if(y0, y1, y2)), z2)) -> c1(MARK(if(c, f(if(y0, y1, y2)), z2))) A__F(if(c, f(if(y0, f(y1), y2)), z2)) -> c1(MARK(if(c, f(if(y0, f(y1), y2)), z2))) A__F(if(c, f(if(y0, if(y1, y2, y3), y4)), z2)) -> c1(MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z2))) A__F(if(c, f(if(y0, c, y1)), z2)) -> c1(MARK(if(c, f(if(y0, c, y1)), z2))) A__F(if(c, f(if(y0, true, y1)), z2)) -> c1(MARK(if(c, f(if(y0, true, y1)), z2))) A__F(if(c, f(if(y0, false, y1)), z2)) -> c1(MARK(if(c, f(if(y0, false, y1)), z2))) A__F(if(c, f(if(f(y0), y1, y2)), z2)) -> c1(MARK(if(c, f(if(f(y0), y1, y2)), z2))) A__F(if(c, f(if(if(y0, y1, y2), y3, y4)), z2)) -> c1(MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z2))) A__F(if(c, f(if(c, y0, y1)), z2)) -> c1(MARK(if(c, f(if(c, y0, y1)), z2))) A__F(if(c, f(if(true, y0, y1)), z2)) -> c1(MARK(if(c, f(if(true, y0, y1)), z2))) A__F(if(c, f(if(false, y0, y1)), z2)) -> c1(MARK(if(c, f(if(false, y0, y1)), z2))) A__F(if(c, if(y0, f(y1), y2), z2)) -> c1(MARK(if(c, if(y0, f(y1), y2), z2))) A__F(if(c, if(y0, f(f(y1)), y2), z2)) -> c1(MARK(if(c, if(y0, f(f(y1)), y2), z2))) A__F(if(c, if(y0, f(if(y1, y2, y3)), y4), z2)) -> c1(MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z2))) A__F(if(c, if(y0, f(c), y1), z2)) -> c1(MARK(if(c, if(y0, f(c), y1), z2))) A__F(if(c, if(y0, f(true), y1), z2)) -> c1(MARK(if(c, if(y0, f(true), y1), z2))) A__F(if(c, if(y0, f(false), y1), z2)) -> c1(MARK(if(c, if(y0, f(false), y1), z2))) A__F(if(c, if(f(y0), f(y1), y2), z2)) -> c1(MARK(if(c, if(f(y0), f(y1), y2), z2))) A__F(if(c, if(if(y0, y1, y2), f(y3), y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z2))) A__F(if(c, if(true, f(y0), y1), z2)) -> c1(MARK(if(c, if(true, f(y0), y1), z2))) A__F(if(c, if(false, f(y0), y1), z2)) -> c1(MARK(if(c, if(false, f(y0), y1), z2))) A__F(if(c, if(y0, if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, y2, y3), y4), z2))) A__F(if(c, if(y0, if(y1, f(y2), y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z2))) A__F(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2))) A__F(if(c, if(y0, if(y1, c, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, c, y2), y3), z2))) A__F(if(c, if(y0, if(y1, true, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, true, y2), y3), z2))) A__F(if(c, if(y0, if(y1, false, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, false, y2), y3), z2))) A__F(if(c, if(y0, if(f(y1), y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z2))) A__F(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2))) A__F(if(c, if(y0, if(c, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(c, y1, y2), y3), z2))) A__F(if(c, if(y0, if(true, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(true, y1, y2), y3), z2))) A__F(if(c, if(y0, if(false, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(false, y1, y2), y3), z2))) A__F(if(c, if(f(y0), if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z2))) A__F(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2))) A__F(if(c, if(true, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(true, if(y0, y1, y2), y3), z2))) A__F(if(c, if(false, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(false, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(y0), c, y1), z2)) -> c1(MARK(if(c, if(f(y0), c, y1), z2))) A__F(if(c, if(if(y0, y1, y2), c, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), c, y3), z2))) A__F(if(c, if(false, c, y0), z2)) -> c1(MARK(if(c, if(false, c, y0), z2))) A__F(if(c, if(f(y0), true, y1), z2)) -> c1(MARK(if(c, if(f(y0), true, y1), z2))) A__F(if(c, if(if(y0, y1, y2), true, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), true, y3), z2))) A__F(if(c, if(false, true, y0), z2)) -> c1(MARK(if(c, if(false, true, y0), z2))) A__F(if(c, if(f(y0), false, y1), z2)) -> c1(MARK(if(c, if(f(y0), false, y1), z2))) A__F(if(c, if(if(y0, y1, y2), false, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), false, y3), z2))) A__F(if(c, if(false, false, y0), z2)) -> c1(MARK(if(c, if(false, false, y0), z2))) A__F(if(c, if(f(y0), y1, y2), z2)) -> c1(MARK(if(c, if(f(y0), y1, y2), z2))) A__F(if(c, if(f(f(y0)), y1, y2), z2)) -> c1(MARK(if(c, if(f(f(y0)), y1, y2), z2))) A__F(if(c, if(f(if(y0, y1, y2)), y3, y4), z2)) -> c1(MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z2))) A__F(if(c, if(f(c), y0, y1), z2)) -> c1(MARK(if(c, if(f(c), y0, y1), z2))) A__F(if(c, if(if(y0, f(y1), y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z2))) A__F(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2))) A__F(if(c, if(if(y0, c, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, c, y1), y2, y3), z2))) A__F(if(c, if(if(y0, true, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, true, y1), y2, y3), z2))) A__F(if(c, if(if(y0, false, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, false, y1), y2, y3), z2))) A__F(if(c, if(if(f(y0), y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z2))) A__F(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2))) A__F(if(c, if(if(c, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(c, y0, y1), y2, y3), z2))) A__F(if(c, if(if(true, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(true, y0, y1), y2, y3), z2))) A__F(if(c, if(if(false, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(false, y0, y1), y2, y3), z2))) A__F(if(c, if(if(y0, y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), y3, y4), z2))) A__F(if(c, if(c, f(y0), y1), z2)) -> c1(MARK(if(c, if(c, f(y0), y1), z2))) A__F(if(c, if(c, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(c, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(true), y0, y1), z2)) -> c1(MARK(if(c, if(f(true), y0, y1), z2))) A__F(if(c, if(f(false), y0, y1), z2)) -> c1(MARK(if(c, if(f(false), y0, y1), z2))) A__F(if(c, f(f(true)), z2)) -> c1(MARK(if(c, f(f(true)), z2))) A__F(if(c, f(f(false)), z2)) -> c1(MARK(if(c, f(f(false)), z2))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c1_1, c6_2, c6_1, c7_2, c8_1, c3_1, c4_1 ---------------------------------------- (153) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(if(false, c, x1)) -> c7(A__IF(false, c, x1)) by MARK(if(false, c, if(false, y1, y2))) -> c7(A__IF(false, c, if(false, y1, y2))) MARK(if(false, c, if(c, y1, y2))) -> c7(A__IF(false, c, if(c, y1, y2))) MARK(if(false, c, f(f(y1)))) -> c7(A__IF(false, c, f(f(y1)))) MARK(if(false, c, f(f(f(y1))))) -> c7(A__IF(false, c, f(f(f(y1))))) MARK(if(false, c, f(f(if(y1, y2, y3))))) -> c7(A__IF(false, c, f(f(if(y1, y2, y3))))) MARK(if(false, c, f(f(false)))) -> c7(A__IF(false, c, f(f(false)))) MARK(if(false, c, f(f(c)))) -> c7(A__IF(false, c, f(f(c)))) MARK(if(false, c, f(if(y1, y2, y3)))) -> c7(A__IF(false, c, f(if(y1, y2, y3)))) MARK(if(false, c, f(if(y1, f(y2), y3)))) -> c7(A__IF(false, c, f(if(y1, f(y2), y3)))) MARK(if(false, c, f(if(y1, if(y2, y3, y4), y5)))) -> c7(A__IF(false, c, f(if(y1, if(y2, y3, y4), y5)))) MARK(if(false, c, f(if(y1, c, y2)))) -> c7(A__IF(false, c, f(if(y1, c, y2)))) MARK(if(false, c, f(if(y1, true, y2)))) -> c7(A__IF(false, c, f(if(y1, true, y2)))) MARK(if(false, c, f(if(y1, false, y2)))) -> c7(A__IF(false, c, f(if(y1, false, y2)))) MARK(if(false, c, f(if(f(y1), y2, y3)))) -> c7(A__IF(false, c, f(if(f(y1), y2, y3)))) MARK(if(false, c, f(if(if(y1, y2, y3), y4, y5)))) -> c7(A__IF(false, c, f(if(if(y1, y2, y3), y4, y5)))) MARK(if(false, c, f(if(c, y1, y2)))) -> c7(A__IF(false, c, f(if(c, y1, y2)))) MARK(if(false, c, f(if(true, y1, y2)))) -> c7(A__IF(false, c, f(if(true, y1, y2)))) MARK(if(false, c, f(if(false, y1, y2)))) -> c7(A__IF(false, c, f(if(false, y1, y2)))) MARK(if(false, c, if(y1, f(y2), y3))) -> c7(A__IF(false, c, if(y1, f(y2), y3))) MARK(if(false, c, if(y1, f(f(y2)), y3))) -> c7(A__IF(false, c, if(y1, f(f(y2)), y3))) MARK(if(false, c, if(y1, f(if(y2, y3, y4)), y5))) -> c7(A__IF(false, c, if(y1, f(if(y2, y3, y4)), y5))) MARK(if(false, c, if(y1, f(c), y2))) -> c7(A__IF(false, c, if(y1, f(c), y2))) MARK(if(false, c, if(y1, f(true), y2))) -> c7(A__IF(false, c, if(y1, f(true), y2))) MARK(if(false, c, if(y1, f(false), y2))) -> c7(A__IF(false, c, if(y1, f(false), y2))) MARK(if(false, c, if(f(y1), f(y2), y3))) -> c7(A__IF(false, c, if(f(y1), f(y2), y3))) MARK(if(false, c, if(if(y1, y2, y3), f(y4), y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), f(y4), y5))) MARK(if(false, c, if(true, f(y1), y2))) -> c7(A__IF(false, c, if(true, f(y1), y2))) MARK(if(false, c, if(false, f(y1), y2))) -> c7(A__IF(false, c, if(false, f(y1), y2))) MARK(if(false, c, if(y1, if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, y3, y4), y5))) MARK(if(false, c, if(y1, if(y2, f(y3), y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, f(y3), y4), y5))) MARK(if(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) -> c7(A__IF(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) MARK(if(false, c, if(y1, if(y2, c, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, c, y3), y4))) MARK(if(false, c, if(y1, if(y2, true, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, true, y3), y4))) MARK(if(false, c, if(y1, if(y2, false, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, false, y3), y4))) MARK(if(false, c, if(y1, if(f(y2), y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(f(y2), y3, y4), y5))) MARK(if(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) -> c7(A__IF(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) MARK(if(false, c, if(y1, if(c, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(c, y2, y3), y4))) MARK(if(false, c, if(y1, if(true, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(true, y2, y3), y4))) MARK(if(false, c, if(y1, if(false, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(false, y2, y3), y4))) MARK(if(false, c, if(f(y1), if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(f(y1), if(y2, y3, y4), y5))) MARK(if(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) -> c7(A__IF(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) MARK(if(false, c, if(true, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(true, if(y1, y2, y3), y4))) MARK(if(false, c, if(false, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(false, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(y1), c, y2))) -> c7(A__IF(false, c, if(f(y1), c, y2))) MARK(if(false, c, if(if(y1, y2, y3), c, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), c, y4))) MARK(if(false, c, if(false, c, y1))) -> c7(A__IF(false, c, if(false, c, y1))) MARK(if(false, c, if(f(y1), true, y2))) -> c7(A__IF(false, c, if(f(y1), true, y2))) MARK(if(false, c, if(if(y1, y2, y3), true, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), true, y4))) MARK(if(false, c, if(false, true, y1))) -> c7(A__IF(false, c, if(false, true, y1))) MARK(if(false, c, if(f(y1), false, y2))) -> c7(A__IF(false, c, if(f(y1), false, y2))) MARK(if(false, c, if(if(y1, y2, y3), false, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), false, y4))) MARK(if(false, c, if(false, false, y1))) -> c7(A__IF(false, c, if(false, false, y1))) MARK(if(false, c, if(f(y1), y2, y3))) -> c7(A__IF(false, c, if(f(y1), y2, y3))) MARK(if(false, c, if(f(f(y1)), y2, y3))) -> c7(A__IF(false, c, if(f(f(y1)), y2, y3))) MARK(if(false, c, if(f(if(y1, y2, y3)), y4, y5))) -> c7(A__IF(false, c, if(f(if(y1, y2, y3)), y4, y5))) MARK(if(false, c, if(f(false), y1, y2))) -> c7(A__IF(false, c, if(f(false), y1, y2))) MARK(if(false, c, if(f(c), y1, y2))) -> c7(A__IF(false, c, if(f(c), y1, y2))) MARK(if(false, c, if(if(y1, f(y2), y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, f(y2), y3), y4, y5))) MARK(if(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) -> c7(A__IF(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) MARK(if(false, c, if(if(y1, c, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, c, y2), y3, y4))) MARK(if(false, c, if(if(y1, true, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, true, y2), y3, y4))) MARK(if(false, c, if(if(y1, false, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, false, y2), y3, y4))) MARK(if(false, c, if(if(f(y1), y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(f(y1), y2, y3), y4, y5))) MARK(if(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) -> c7(A__IF(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) MARK(if(false, c, if(if(c, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(c, y1, y2), y3, y4))) MARK(if(false, c, if(if(true, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(true, y1, y2), y3, y4))) MARK(if(false, c, if(if(false, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(false, y1, y2), y3, y4))) MARK(if(false, c, if(if(y1, y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), y4, y5))) MARK(if(false, c, if(c, f(y1), y2))) -> c7(A__IF(false, c, if(c, f(y1), y2))) MARK(if(false, c, if(c, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(c, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(true), y1, y2))) -> c7(A__IF(false, c, if(f(true), y1, y2))) MARK(if(false, c, f(f(true)))) -> c7(A__IF(false, c, f(f(true)))) ---------------------------------------- (154) Obligation: Complexity Dependency Tuples Problem Rules: a__f(z0) -> a__if(mark(z0), c, f(true)) a__f(z0) -> f(z0) a__if(true, z0, z1) -> mark(z0) a__if(false, z0, z1) -> mark(z1) a__if(z0, z1, z2) -> if(z0, z1, z2) mark(f(z0)) -> a__f(mark(z0)) mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) mark(c) -> c mark(true) -> true mark(false) -> false Tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) A__F(f(x0)) -> c1(MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) A__F(if(z0, f(f(y1)), z2)) -> c1(MARK(if(z0, f(f(y1)), z2))) A__F(if(z0, f(if(y1, y2, y3)), z2)) -> c1(MARK(if(z0, f(if(y1, y2, y3)), z2))) A__F(if(z0, f(c), z2)) -> c1(MARK(if(z0, f(c), z2))) A__F(if(z0, f(true), z2)) -> c1(MARK(if(z0, f(true), z2))) A__F(if(z0, f(false), z2)) -> c1(MARK(if(z0, f(false), z2))) A__F(if(f(y0), f(y1), z2)) -> c1(MARK(if(f(y0), f(y1), z2))) A__F(if(if(y0, y1, y2), f(y3), z2)) -> c1(MARK(if(if(y0, y1, y2), f(y3), z2))) A__F(if(true, f(y0), z2)) -> c1(MARK(if(true, f(y0), z2))) A__F(if(false, f(y0), z2)) -> c1(MARK(if(false, f(y0), z2))) A__F(if(z0, if(y1, f(y2), y3), z2)) -> c1(MARK(if(z0, if(y1, f(y2), y3), z2))) A__F(if(z0, if(y1, if(y2, y3, y4), y5), z2)) -> c1(MARK(if(z0, if(y1, if(y2, y3, y4), y5), z2))) A__F(if(z0, if(y1, c, y2), z2)) -> c1(MARK(if(z0, if(y1, c, y2), z2))) A__F(if(z0, if(y1, true, y2), z2)) -> c1(MARK(if(z0, if(y1, true, y2), z2))) A__F(if(z0, if(y1, false, y2), z2)) -> c1(MARK(if(z0, if(y1, false, y2), z2))) A__F(if(z0, if(f(y1), y2, y3), z2)) -> c1(MARK(if(z0, if(f(y1), y2, y3), z2))) A__F(if(z0, if(if(y1, y2, y3), y4, y5), z2)) -> c1(MARK(if(z0, if(if(y1, y2, y3), y4, y5), z2))) A__F(if(z0, if(c, y1, y2), z2)) -> c1(MARK(if(z0, if(c, y1, y2), z2))) A__F(if(z0, if(true, y1, y2), z2)) -> c1(MARK(if(z0, if(true, y1, y2), z2))) A__F(if(z0, if(false, y1, y2), z2)) -> c1(MARK(if(z0, if(false, y1, y2), z2))) A__F(if(f(y0), if(y1, y2, y3), z2)) -> c1(MARK(if(f(y0), if(y1, y2, y3), z2))) A__F(if(if(y0, y1, y2), if(y3, y4, y5), z2)) -> c1(MARK(if(if(y0, y1, y2), if(y3, y4, y5), z2))) A__F(if(true, if(y0, y1, y2), z2)) -> c1(MARK(if(true, if(y0, y1, y2), z2))) A__F(if(false, if(y0, y1, y2), z2)) -> c1(MARK(if(false, if(y0, y1, y2), z2))) A__F(if(f(y0), c, z2)) -> c1(MARK(if(f(y0), c, z2))) A__F(if(if(y0, y1, y2), c, z2)) -> c1(MARK(if(if(y0, y1, y2), c, z2))) A__F(if(false, c, z2)) -> c1(MARK(if(false, c, z2))) A__F(if(f(y0), true, z2)) -> c1(MARK(if(f(y0), true, z2))) A__F(if(if(y0, y1, y2), true, z2)) -> c1(MARK(if(if(y0, y1, y2), true, z2))) A__F(if(false, true, z2)) -> c1(MARK(if(false, true, z2))) A__F(if(f(y0), false, z2)) -> c1(MARK(if(f(y0), false, z2))) A__F(if(if(y0, y1, y2), false, z2)) -> c1(MARK(if(if(y0, y1, y2), false, z2))) A__F(if(false, false, z2)) -> c1(MARK(if(false, false, z2))) A__F(if(f(f(y0)), z1, z2)) -> c1(MARK(if(f(f(y0)), z1, z2))) A__F(if(f(if(y0, y1, y2)), z1, z2)) -> c1(MARK(if(f(if(y0, y1, y2)), z1, z2))) A__F(if(f(c), z1, z2)) -> c1(MARK(if(f(c), z1, z2))) A__F(if(if(y0, f(y1), y2), z1, z2)) -> c1(MARK(if(if(y0, f(y1), y2), z1, z2))) A__F(if(if(y0, if(y1, y2, y3), y4), z1, z2)) -> c1(MARK(if(if(y0, if(y1, y2, y3), y4), z1, z2))) A__F(if(if(y0, c, y1), z1, z2)) -> c1(MARK(if(if(y0, c, y1), z1, z2))) A__F(if(if(y0, true, y1), z1, z2)) -> c1(MARK(if(if(y0, true, y1), z1, z2))) A__F(if(if(y0, false, y1), z1, z2)) -> c1(MARK(if(if(y0, false, y1), z1, z2))) A__F(if(if(f(y0), y1, y2), z1, z2)) -> c1(MARK(if(if(f(y0), y1, y2), z1, z2))) A__F(if(if(if(y0, y1, y2), y3, y4), z1, z2)) -> c1(MARK(if(if(if(y0, y1, y2), y3, y4), z1, z2))) A__F(if(if(c, y0, y1), z1, z2)) -> c1(MARK(if(if(c, y0, y1), z1, z2))) A__F(if(if(true, y0, y1), z1, z2)) -> c1(MARK(if(if(true, y0, y1), z1, z2))) A__F(if(if(false, y0, y1), z1, z2)) -> c1(MARK(if(if(false, y0, y1), z1, z2))) A__F(if(c, f(y0), z2)) -> c1(MARK(if(c, f(y0), z2))) A__F(if(c, if(y0, y1, y2), z2)) -> c1(MARK(if(c, if(y0, y1, y2), z2))) A__F(if(f(true), z1, z2)) -> c1(MARK(if(f(true), z1, z2))) A__F(if(f(false), z1, z2)) -> c1(MARK(if(f(false), z1, z2))) A__F(if(c, if(false, y0, y1), z2)) -> c1(MARK(if(c, if(false, y0, y1), z2))) A__F(if(c, if(c, y0, y1), z2)) -> c1(MARK(if(c, if(c, y0, y1), z2))) A__F(if(c, f(f(y0)), z2)) -> c1(MARK(if(c, f(f(y0)), z2))) A__F(if(c, f(f(f(y0))), z2)) -> c1(MARK(if(c, f(f(f(y0))), z2))) A__F(if(c, f(f(if(y0, y1, y2))), z2)) -> c1(MARK(if(c, f(f(if(y0, y1, y2))), z2))) A__F(if(c, f(f(c)), z2)) -> c1(MARK(if(c, f(f(c)), z2))) A__F(if(c, f(if(y0, y1, y2)), z2)) -> c1(MARK(if(c, f(if(y0, y1, y2)), z2))) A__F(if(c, f(if(y0, f(y1), y2)), z2)) -> c1(MARK(if(c, f(if(y0, f(y1), y2)), z2))) A__F(if(c, f(if(y0, if(y1, y2, y3), y4)), z2)) -> c1(MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z2))) A__F(if(c, f(if(y0, c, y1)), z2)) -> c1(MARK(if(c, f(if(y0, c, y1)), z2))) A__F(if(c, f(if(y0, true, y1)), z2)) -> c1(MARK(if(c, f(if(y0, true, y1)), z2))) A__F(if(c, f(if(y0, false, y1)), z2)) -> c1(MARK(if(c, f(if(y0, false, y1)), z2))) A__F(if(c, f(if(f(y0), y1, y2)), z2)) -> c1(MARK(if(c, f(if(f(y0), y1, y2)), z2))) A__F(if(c, f(if(if(y0, y1, y2), y3, y4)), z2)) -> c1(MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z2))) A__F(if(c, f(if(c, y0, y1)), z2)) -> c1(MARK(if(c, f(if(c, y0, y1)), z2))) A__F(if(c, f(if(true, y0, y1)), z2)) -> c1(MARK(if(c, f(if(true, y0, y1)), z2))) A__F(if(c, f(if(false, y0, y1)), z2)) -> c1(MARK(if(c, f(if(false, y0, y1)), z2))) A__F(if(c, if(y0, f(y1), y2), z2)) -> c1(MARK(if(c, if(y0, f(y1), y2), z2))) A__F(if(c, if(y0, f(f(y1)), y2), z2)) -> c1(MARK(if(c, if(y0, f(f(y1)), y2), z2))) A__F(if(c, if(y0, f(if(y1, y2, y3)), y4), z2)) -> c1(MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z2))) A__F(if(c, if(y0, f(c), y1), z2)) -> c1(MARK(if(c, if(y0, f(c), y1), z2))) A__F(if(c, if(y0, f(true), y1), z2)) -> c1(MARK(if(c, if(y0, f(true), y1), z2))) A__F(if(c, if(y0, f(false), y1), z2)) -> c1(MARK(if(c, if(y0, f(false), y1), z2))) A__F(if(c, if(f(y0), f(y1), y2), z2)) -> c1(MARK(if(c, if(f(y0), f(y1), y2), z2))) A__F(if(c, if(if(y0, y1, y2), f(y3), y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z2))) A__F(if(c, if(true, f(y0), y1), z2)) -> c1(MARK(if(c, if(true, f(y0), y1), z2))) A__F(if(c, if(false, f(y0), y1), z2)) -> c1(MARK(if(c, if(false, f(y0), y1), z2))) A__F(if(c, if(y0, if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, y2, y3), y4), z2))) A__F(if(c, if(y0, if(y1, f(y2), y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z2))) A__F(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2))) A__F(if(c, if(y0, if(y1, c, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, c, y2), y3), z2))) A__F(if(c, if(y0, if(y1, true, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, true, y2), y3), z2))) A__F(if(c, if(y0, if(y1, false, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, false, y2), y3), z2))) A__F(if(c, if(y0, if(f(y1), y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z2))) A__F(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2))) A__F(if(c, if(y0, if(c, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(c, y1, y2), y3), z2))) A__F(if(c, if(y0, if(true, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(true, y1, y2), y3), z2))) A__F(if(c, if(y0, if(false, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(false, y1, y2), y3), z2))) A__F(if(c, if(f(y0), if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z2))) A__F(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2))) A__F(if(c, if(true, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(true, if(y0, y1, y2), y3), z2))) A__F(if(c, if(false, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(false, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(y0), c, y1), z2)) -> c1(MARK(if(c, if(f(y0), c, y1), z2))) A__F(if(c, if(if(y0, y1, y2), c, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), c, y3), z2))) A__F(if(c, if(false, c, y0), z2)) -> c1(MARK(if(c, if(false, c, y0), z2))) A__F(if(c, if(f(y0), true, y1), z2)) -> c1(MARK(if(c, if(f(y0), true, y1), z2))) A__F(if(c, if(if(y0, y1, y2), true, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), true, y3), z2))) A__F(if(c, if(false, true, y0), z2)) -> c1(MARK(if(c, if(false, true, y0), z2))) A__F(if(c, if(f(y0), false, y1), z2)) -> c1(MARK(if(c, if(f(y0), false, y1), z2))) A__F(if(c, if(if(y0, y1, y2), false, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), false, y3), z2))) A__F(if(c, if(false, false, y0), z2)) -> c1(MARK(if(c, if(false, false, y0), z2))) A__F(if(c, if(f(y0), y1, y2), z2)) -> c1(MARK(if(c, if(f(y0), y1, y2), z2))) A__F(if(c, if(f(f(y0)), y1, y2), z2)) -> c1(MARK(if(c, if(f(f(y0)), y1, y2), z2))) A__F(if(c, if(f(if(y0, y1, y2)), y3, y4), z2)) -> c1(MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z2))) A__F(if(c, if(f(c), y0, y1), z2)) -> c1(MARK(if(c, if(f(c), y0, y1), z2))) A__F(if(c, if(if(y0, f(y1), y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z2))) A__F(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2))) A__F(if(c, if(if(y0, c, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, c, y1), y2, y3), z2))) A__F(if(c, if(if(y0, true, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, true, y1), y2, y3), z2))) A__F(if(c, if(if(y0, false, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, false, y1), y2, y3), z2))) A__F(if(c, if(if(f(y0), y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z2))) A__F(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2))) A__F(if(c, if(if(c, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(c, y0, y1), y2, y3), z2))) A__F(if(c, if(if(true, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(true, y0, y1), y2, y3), z2))) A__F(if(c, if(if(false, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(false, y0, y1), y2, y3), z2))) A__F(if(c, if(if(y0, y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), y3, y4), z2))) A__F(if(c, if(c, f(y0), y1), z2)) -> c1(MARK(if(c, if(c, f(y0), y1), z2))) A__F(if(c, if(c, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(c, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(true), y0, y1), z2)) -> c1(MARK(if(c, if(f(true), y0, y1), z2))) A__F(if(c, if(f(false), y0, y1), z2)) -> c1(MARK(if(c, if(f(false), y0, y1), z2))) A__F(if(c, f(f(true)), z2)) -> c1(MARK(if(c, f(f(true)), z2))) A__F(if(c, f(f(false)), z2)) -> c1(MARK(if(c, f(f(false)), z2))) MARK(if(false, c, if(false, y1, y2))) -> c7(A__IF(false, c, if(false, y1, y2))) MARK(if(false, c, if(c, y1, y2))) -> c7(A__IF(false, c, if(c, y1, y2))) MARK(if(false, c, f(f(y1)))) -> c7(A__IF(false, c, f(f(y1)))) MARK(if(false, c, f(f(f(y1))))) -> c7(A__IF(false, c, f(f(f(y1))))) MARK(if(false, c, f(f(if(y1, y2, y3))))) -> c7(A__IF(false, c, f(f(if(y1, y2, y3))))) MARK(if(false, c, f(f(false)))) -> c7(A__IF(false, c, f(f(false)))) MARK(if(false, c, f(f(c)))) -> c7(A__IF(false, c, f(f(c)))) MARK(if(false, c, f(if(y1, y2, y3)))) -> c7(A__IF(false, c, f(if(y1, y2, y3)))) MARK(if(false, c, f(if(y1, f(y2), y3)))) -> c7(A__IF(false, c, f(if(y1, f(y2), y3)))) MARK(if(false, c, f(if(y1, if(y2, y3, y4), y5)))) -> c7(A__IF(false, c, f(if(y1, if(y2, y3, y4), y5)))) MARK(if(false, c, f(if(y1, c, y2)))) -> c7(A__IF(false, c, f(if(y1, c, y2)))) MARK(if(false, c, f(if(y1, true, y2)))) -> c7(A__IF(false, c, f(if(y1, true, y2)))) MARK(if(false, c, f(if(y1, false, y2)))) -> c7(A__IF(false, c, f(if(y1, false, y2)))) MARK(if(false, c, f(if(f(y1), y2, y3)))) -> c7(A__IF(false, c, f(if(f(y1), y2, y3)))) MARK(if(false, c, f(if(if(y1, y2, y3), y4, y5)))) -> c7(A__IF(false, c, f(if(if(y1, y2, y3), y4, y5)))) MARK(if(false, c, f(if(c, y1, y2)))) -> c7(A__IF(false, c, f(if(c, y1, y2)))) MARK(if(false, c, f(if(true, y1, y2)))) -> c7(A__IF(false, c, f(if(true, y1, y2)))) MARK(if(false, c, f(if(false, y1, y2)))) -> c7(A__IF(false, c, f(if(false, y1, y2)))) MARK(if(false, c, if(y1, f(y2), y3))) -> c7(A__IF(false, c, if(y1, f(y2), y3))) MARK(if(false, c, if(y1, f(f(y2)), y3))) -> c7(A__IF(false, c, if(y1, f(f(y2)), y3))) MARK(if(false, c, if(y1, f(if(y2, y3, y4)), y5))) -> c7(A__IF(false, c, if(y1, f(if(y2, y3, y4)), y5))) MARK(if(false, c, if(y1, f(c), y2))) -> c7(A__IF(false, c, if(y1, f(c), y2))) MARK(if(false, c, if(y1, f(true), y2))) -> c7(A__IF(false, c, if(y1, f(true), y2))) MARK(if(false, c, if(y1, f(false), y2))) -> c7(A__IF(false, c, if(y1, f(false), y2))) MARK(if(false, c, if(f(y1), f(y2), y3))) -> c7(A__IF(false, c, if(f(y1), f(y2), y3))) MARK(if(false, c, if(if(y1, y2, y3), f(y4), y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), f(y4), y5))) MARK(if(false, c, if(true, f(y1), y2))) -> c7(A__IF(false, c, if(true, f(y1), y2))) MARK(if(false, c, if(false, f(y1), y2))) -> c7(A__IF(false, c, if(false, f(y1), y2))) MARK(if(false, c, if(y1, if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, y3, y4), y5))) MARK(if(false, c, if(y1, if(y2, f(y3), y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, f(y3), y4), y5))) MARK(if(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) -> c7(A__IF(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) MARK(if(false, c, if(y1, if(y2, c, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, c, y3), y4))) MARK(if(false, c, if(y1, if(y2, true, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, true, y3), y4))) MARK(if(false, c, if(y1, if(y2, false, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, false, y3), y4))) MARK(if(false, c, if(y1, if(f(y2), y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(f(y2), y3, y4), y5))) MARK(if(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) -> c7(A__IF(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) MARK(if(false, c, if(y1, if(c, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(c, y2, y3), y4))) MARK(if(false, c, if(y1, if(true, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(true, y2, y3), y4))) MARK(if(false, c, if(y1, if(false, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(false, y2, y3), y4))) MARK(if(false, c, if(f(y1), if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(f(y1), if(y2, y3, y4), y5))) MARK(if(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) -> c7(A__IF(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) MARK(if(false, c, if(true, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(true, if(y1, y2, y3), y4))) MARK(if(false, c, if(false, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(false, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(y1), c, y2))) -> c7(A__IF(false, c, if(f(y1), c, y2))) MARK(if(false, c, if(if(y1, y2, y3), c, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), c, y4))) MARK(if(false, c, if(false, c, y1))) -> c7(A__IF(false, c, if(false, c, y1))) MARK(if(false, c, if(f(y1), true, y2))) -> c7(A__IF(false, c, if(f(y1), true, y2))) MARK(if(false, c, if(if(y1, y2, y3), true, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), true, y4))) MARK(if(false, c, if(false, true, y1))) -> c7(A__IF(false, c, if(false, true, y1))) MARK(if(false, c, if(f(y1), false, y2))) -> c7(A__IF(false, c, if(f(y1), false, y2))) MARK(if(false, c, if(if(y1, y2, y3), false, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), false, y4))) MARK(if(false, c, if(false, false, y1))) -> c7(A__IF(false, c, if(false, false, y1))) MARK(if(false, c, if(f(y1), y2, y3))) -> c7(A__IF(false, c, if(f(y1), y2, y3))) MARK(if(false, c, if(f(f(y1)), y2, y3))) -> c7(A__IF(false, c, if(f(f(y1)), y2, y3))) MARK(if(false, c, if(f(if(y1, y2, y3)), y4, y5))) -> c7(A__IF(false, c, if(f(if(y1, y2, y3)), y4, y5))) MARK(if(false, c, if(f(false), y1, y2))) -> c7(A__IF(false, c, if(f(false), y1, y2))) MARK(if(false, c, if(f(c), y1, y2))) -> c7(A__IF(false, c, if(f(c), y1, y2))) MARK(if(false, c, if(if(y1, f(y2), y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, f(y2), y3), y4, y5))) MARK(if(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) -> c7(A__IF(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) MARK(if(false, c, if(if(y1, c, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, c, y2), y3, y4))) MARK(if(false, c, if(if(y1, true, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, true, y2), y3, y4))) MARK(if(false, c, if(if(y1, false, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, false, y2), y3, y4))) MARK(if(false, c, if(if(f(y1), y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(f(y1), y2, y3), y4, y5))) MARK(if(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) -> c7(A__IF(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) MARK(if(false, c, if(if(c, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(c, y1, y2), y3, y4))) MARK(if(false, c, if(if(true, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(true, y1, y2), y3, y4))) MARK(if(false, c, if(if(false, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(false, y1, y2), y3, y4))) MARK(if(false, c, if(if(y1, y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), y4, y5))) MARK(if(false, c, if(c, f(y1), y2))) -> c7(A__IF(false, c, if(c, f(y1), y2))) MARK(if(false, c, if(c, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(c, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(true), y1, y2))) -> c7(A__IF(false, c, if(f(true), y1, y2))) MARK(if(false, c, f(f(true)))) -> c7(A__IF(false, c, f(f(true)))) S tuples: MARK(if(false, x1, x2)) -> c7(A__IF(false, mark(x1), x2)) MARK(if(false, x1, x2)) -> c8(A__IF(false, mark(x1), x2), MARK(x1)) MARK(f(f(x0))) -> c6(A__F(a__if(mark(mark(x0)), c, f(true))), MARK(f(x0))) MARK(f(f(x0))) -> c6(A__F(f(mark(x0))), MARK(f(x0))) MARK(f(f(f(z0)))) -> c6(A__F(a__f(a__f(mark(z0)))), MARK(f(f(z0)))) MARK(f(f(if(z0, z1, z2)))) -> c6(A__F(a__f(a__if(mark(z0), mark(z1), z2))), MARK(f(if(z0, z1, z2)))) MARK(f(f(c))) -> c6(A__F(a__f(c))) MARK(f(if(x0, x1, z2))) -> c6(A__F(if(mark(x0), mark(x1), z2)), MARK(if(x0, x1, z2))) MARK(f(if(x0, f(z0), x2))) -> c6(A__F(a__if(mark(x0), a__f(mark(z0)), x2)), MARK(if(x0, f(z0), x2))) MARK(f(if(x0, if(z0, z1, z2), x2))) -> c6(A__F(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2)), MARK(if(x0, if(z0, z1, z2), x2))) MARK(f(if(x0, c, x2))) -> c6(A__F(a__if(mark(x0), c, x2)), MARK(if(x0, c, x2))) MARK(f(if(x0, true, x2))) -> c6(A__F(a__if(mark(x0), true, x2)), MARK(if(x0, true, x2))) MARK(f(if(x0, false, x2))) -> c6(A__F(a__if(mark(x0), false, x2)), MARK(if(x0, false, x2))) MARK(f(if(f(z0), x1, x2))) -> c6(A__F(a__if(a__f(mark(z0)), mark(x1), x2)), MARK(if(f(z0), x1, x2))) MARK(f(if(if(z0, z1, z2), x1, x2))) -> c6(A__F(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2)), MARK(if(if(z0, z1, z2), x1, x2))) MARK(f(if(c, x1, x2))) -> c6(A__F(a__if(c, mark(x1), x2)), MARK(if(c, x1, x2))) MARK(f(if(true, x1, x2))) -> c6(A__F(a__if(true, mark(x1), x2)), MARK(if(true, x1, x2))) MARK(f(if(false, x1, x2))) -> c6(A__F(a__if(false, mark(x1), x2)), MARK(if(false, x1, x2))) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(x0)) MARK(if(x0, f(x1), x2)) -> c7(A__IF(mark(x0), f(mark(x1)), x2), MARK(x0)) MARK(if(x0, f(f(z0)), x2)) -> c7(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(x0)) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c7(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(x0)) MARK(if(x0, f(c), x2)) -> c7(A__IF(mark(x0), a__f(c), x2), MARK(x0)) MARK(if(x0, f(true), x2)) -> c7(A__IF(mark(x0), a__f(true), x2), MARK(x0)) MARK(if(x0, f(false), x2)) -> c7(A__IF(mark(x0), a__f(false), x2), MARK(x0)) MARK(if(f(z0), f(x1), x2)) -> c7(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(z0))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(if(z0, z1, z2))) MARK(if(true, f(x1), x2)) -> c7(A__IF(true, a__f(mark(x1)), x2)) MARK(if(false, f(x1), x2)) -> c7(A__IF(false, a__f(mark(x1)), x2)) MARK(if(x0, if(x1, x2, z2), x4)) -> c7(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(x0)) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(x0)) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(x0)) MARK(if(x0, if(x1, c, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(x0)) MARK(if(x0, if(x1, true, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(x0)) MARK(if(x0, if(x1, false, x3), x4)) -> c7(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(x0)) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(c, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(true, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(x0)) MARK(if(x0, if(false, x2, x3), x4)) -> c7(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(x0)) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c7(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(f(z0))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(z0, z1, z2))) MARK(if(true, if(x1, x2, x3), x4)) -> c7(A__IF(true, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(false, if(x1, x2, x3), x4)) -> c7(A__IF(false, a__if(mark(x1), mark(x2), x3), x4)) MARK(if(f(z0), c, x1)) -> c7(A__IF(a__f(mark(z0)), c, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), c, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), c, x1), MARK(if(z0, z1, z2))) MARK(if(f(z0), true, x1)) -> c7(A__IF(a__f(mark(z0)), true, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), true, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), true, x1), MARK(if(z0, z1, z2))) MARK(if(false, true, x1)) -> c7(A__IF(false, true, x1)) MARK(if(f(z0), false, x1)) -> c7(A__IF(a__f(mark(z0)), false, x1), MARK(f(z0))) MARK(if(if(z0, z1, z2), false, x1)) -> c7(A__IF(a__if(mark(z0), mark(z1), z2), false, x1), MARK(if(z0, z1, z2))) MARK(if(false, false, x1)) -> c7(A__IF(false, false, x1)) MARK(if(f(x0), x1, x2)) -> c7(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(f(x0))) MARK(if(f(f(z0)), x1, x2)) -> c7(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(f(f(z0)))) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c7(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(x0), x1, x2)) -> c7(MARK(f(x0))) MARK(if(f(c), x1, x2)) -> c7(A__IF(a__f(c), mark(x1), x2)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(if(x0, f(z0), x2))) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(if(x0, if(z0, z1, z2), x2))) MARK(if(if(x0, c, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(if(x0, c, x2))) MARK(if(if(x0, true, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(if(x0, true, x2))) MARK(if(if(x0, false, x2), x3, x4)) -> c7(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(if(x0, false, x2))) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(if(f(z0), x1, x2))) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c7(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(if(if(z0, z1, z2), x1, x2))) MARK(if(if(c, x1, x2), x3, x4)) -> c7(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(if(c, x1, x2))) MARK(if(if(true, x1, x2), x3, x4)) -> c7(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(if(true, x1, x2))) MARK(if(if(false, x1, x2), x3, x4)) -> c7(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(if(false, x1, x2))) MARK(if(if(x0, x1, z2), x3, x4)) -> c7(MARK(if(x0, x1, z2))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), a__if(mark(mark(x1)), c, f(true)), x2), MARK(f(x1))) MARK(if(x0, f(x1), x2)) -> c8(A__IF(mark(x0), f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(f(z0)), x2)) -> c8(A__IF(mark(x0), a__f(a__f(mark(z0))), x2), MARK(f(f(z0)))) MARK(if(x0, f(if(z0, z1, z2)), x2)) -> c8(A__IF(mark(x0), a__f(a__if(mark(z0), mark(z1), z2)), x2), MARK(f(if(z0, z1, z2)))) MARK(if(f(z0), f(x1), x2)) -> c8(A__IF(a__f(mark(z0)), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(if(z0, z1, z2), f(x1), x2)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(true, f(x1), x2)) -> c8(A__IF(true, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(false, f(x1), x2)) -> c8(A__IF(false, a__f(mark(x1)), x2), MARK(f(x1))) MARK(if(x0, f(c), x2)) -> c8(A__IF(mark(x0), a__f(c), x2)) MARK(if(c, f(x1), x2)) -> c8(MARK(f(x1))) MARK(if(x0, if(x1, x2, z2), x4)) -> c8(A__IF(mark(x0), if(mark(x1), mark(x2), z2), x4), MARK(if(x1, x2, z2))) MARK(if(x0, if(x1, f(z0), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__f(mark(z0)), x3), x4), MARK(if(x1, f(z0), x3))) MARK(if(x0, if(x1, if(z0, z1, z2), x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), a__if(mark(z0), mark(z1), z2), x3), x4), MARK(if(x1, if(z0, z1, z2), x3))) MARK(if(x0, if(x1, c, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), c, x3), x4), MARK(if(x1, c, x3))) MARK(if(x0, if(x1, true, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), true, x3), x4), MARK(if(x1, true, x3))) MARK(if(x0, if(x1, false, x3), x4)) -> c8(A__IF(mark(x0), a__if(mark(x1), false, x3), x4), MARK(if(x1, false, x3))) MARK(if(x0, if(f(z0), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__f(mark(z0)), mark(x2), x3), x4), MARK(if(f(z0), x2, x3))) MARK(if(x0, if(if(z0, z1, z2), x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(a__if(mark(z0), mark(z1), z2), mark(x2), x3), x4), MARK(if(if(z0, z1, z2), x2, x3))) MARK(if(x0, if(c, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(c, mark(x2), x3), x4), MARK(if(c, x2, x3))) MARK(if(x0, if(true, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(true, mark(x2), x3), x4), MARK(if(true, x2, x3))) MARK(if(x0, if(false, x2, x3), x4)) -> c8(A__IF(mark(x0), a__if(false, mark(x2), x3), x4), MARK(if(false, x2, x3))) MARK(if(f(z0), if(x1, x2, x3), x4)) -> c8(A__IF(a__f(mark(z0)), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(if(z0, z1, z2), if(x1, x2, x3), x4)) -> c8(A__IF(a__if(mark(z0), mark(z1), z2), a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(true, if(x1, x2, x3), x4)) -> c8(A__IF(true, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(false, if(x1, x2, x3), x4)) -> c8(A__IF(false, a__if(mark(x1), mark(x2), x3), x4), MARK(if(x1, x2, x3))) MARK(if(c, if(x1, x2, x3), x4)) -> c8(MARK(if(x1, x2, x3))) MARK(if(f(x0), x1, x2)) -> c8(A__IF(a__if(mark(mark(x0)), c, f(true)), mark(x1), x2), MARK(x1)) MARK(if(f(f(z0)), x1, x2)) -> c8(A__IF(a__f(a__f(mark(z0))), mark(x1), x2), MARK(x1)) MARK(if(f(if(z0, z1, z2)), x1, x2)) -> c8(A__IF(a__f(a__if(mark(z0), mark(z1), z2)), mark(x1), x2), MARK(x1)) MARK(if(f(c), x1, x2)) -> c8(A__IF(a__f(c), mark(x1), x2), MARK(x1)) MARK(if(f(true), x1, x2)) -> c8(A__IF(a__f(true), mark(x1), x2), MARK(x1)) MARK(if(f(false), x1, x2)) -> c8(A__IF(a__f(false), mark(x1), x2), MARK(x1)) MARK(if(f(x0), c, x2)) -> c8(A__IF(a__f(mark(x0)), c, x2)) MARK(if(f(x0), true, x2)) -> c8(A__IF(a__f(mark(x0)), true, x2)) MARK(if(f(x0), false, x2)) -> c8(A__IF(a__f(mark(x0)), false, x2)) MARK(if(f(x0), x1, x2)) -> c8(MARK(x1)) MARK(if(if(x0, f(z0), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__f(mark(z0)), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, if(z0, z1, z2), x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), a__if(mark(z0), mark(z1), z2), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, c, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), c, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, true, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), true, x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, false, x2), x3, x4)) -> c8(A__IF(a__if(mark(x0), false, x2), mark(x3), x4), MARK(x3)) MARK(if(if(f(z0), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__f(mark(z0)), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(if(z0, z1, z2), x1, x2), x3, x4)) -> c8(A__IF(a__if(a__if(mark(z0), mark(z1), z2), mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(c, x1, x2), x3, x4)) -> c8(A__IF(a__if(c, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(true, x1, x2), x3, x4)) -> c8(A__IF(a__if(true, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(false, x1, x2), x3, x4)) -> c8(A__IF(a__if(false, mark(x1), x2), mark(x3), x4), MARK(x3)) MARK(if(if(x0, x1, x2), c, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), c, x4)) MARK(if(if(x0, x1, x2), true, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), true, x4)) MARK(if(if(x0, x1, x2), false, x4)) -> c8(A__IF(a__if(mark(x0), mark(x1), x2), false, x4)) MARK(if(if(x0, x1, z2), x3, x4)) -> c8(MARK(x3)) MARK(if(false, c, x1)) -> c8(A__IF(false, c, x1)) MARK(if(false, true, x1)) -> c8(A__IF(false, true, x1)) MARK(if(false, false, x1)) -> c8(A__IF(false, false, x1)) A__IF(true, if(true, y0, y1), z1) -> c3(MARK(if(true, y0, y1))) A__IF(true, if(false, y0, y1), z1) -> c3(MARK(if(false, y0, y1))) A__IF(true, if(c, y0, y1), z1) -> c3(MARK(if(c, y0, y1))) A__IF(true, f(f(y0)), z1) -> c3(MARK(f(f(y0)))) A__IF(true, f(f(f(y0))), z1) -> c3(MARK(f(f(f(y0))))) A__IF(true, f(f(if(y0, y1, y2))), z1) -> c3(MARK(f(f(if(y0, y1, y2))))) A__IF(true, f(f(true)), z1) -> c3(MARK(f(f(true)))) A__IF(true, f(f(false)), z1) -> c3(MARK(f(f(false)))) A__IF(true, f(f(c)), z1) -> c3(MARK(f(f(c)))) A__IF(true, f(if(y0, y1, y2)), z1) -> c3(MARK(f(if(y0, y1, y2)))) A__IF(true, f(if(y0, f(y1), y2)), z1) -> c3(MARK(f(if(y0, f(y1), y2)))) A__IF(true, f(if(y0, if(y1, y2, y3), y4)), z1) -> c3(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(true, f(if(y0, c, y1)), z1) -> c3(MARK(f(if(y0, c, y1)))) A__IF(true, f(if(y0, true, y1)), z1) -> c3(MARK(f(if(y0, true, y1)))) A__IF(true, f(if(y0, false, y1)), z1) -> c3(MARK(f(if(y0, false, y1)))) A__IF(true, f(if(f(y0), y1, y2)), z1) -> c3(MARK(f(if(f(y0), y1, y2)))) A__IF(true, f(if(if(y0, y1, y2), y3, y4)), z1) -> c3(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(true, f(if(c, y0, y1)), z1) -> c3(MARK(f(if(c, y0, y1)))) A__IF(true, f(if(true, y0, y1)), z1) -> c3(MARK(f(if(true, y0, y1)))) A__IF(true, f(if(false, y0, y1)), z1) -> c3(MARK(f(if(false, y0, y1)))) A__IF(true, if(y0, f(y1), y2), z1) -> c3(MARK(if(y0, f(y1), y2))) A__IF(true, if(y0, f(f(y1)), y2), z1) -> c3(MARK(if(y0, f(f(y1)), y2))) A__IF(true, if(y0, f(if(y1, y2, y3)), y4), z1) -> c3(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(true, if(y0, f(c), y1), z1) -> c3(MARK(if(y0, f(c), y1))) A__IF(true, if(y0, f(true), y1), z1) -> c3(MARK(if(y0, f(true), y1))) A__IF(true, if(y0, f(false), y1), z1) -> c3(MARK(if(y0, f(false), y1))) A__IF(true, if(f(y0), f(y1), y2), z1) -> c3(MARK(if(f(y0), f(y1), y2))) A__IF(true, if(if(y0, y1, y2), f(y3), y4), z1) -> c3(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(true, if(true, f(y0), y1), z1) -> c3(MARK(if(true, f(y0), y1))) A__IF(true, if(false, f(y0), y1), z1) -> c3(MARK(if(false, f(y0), y1))) A__IF(true, if(y0, if(y1, y2, y3), y4), z1) -> c3(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(true, if(y0, if(y1, f(y2), y3), y4), z1) -> c3(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(true, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1) -> c3(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(true, if(y0, if(y1, c, y2), y3), z1) -> c3(MARK(if(y0, if(y1, c, y2), y3))) A__IF(true, if(y0, if(y1, true, y2), y3), z1) -> c3(MARK(if(y0, if(y1, true, y2), y3))) A__IF(true, if(y0, if(y1, false, y2), y3), z1) -> c3(MARK(if(y0, if(y1, false, y2), y3))) A__IF(true, if(y0, if(f(y1), y2, y3), y4), z1) -> c3(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(true, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1) -> c3(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(true, if(y0, if(c, y1, y2), y3), z1) -> c3(MARK(if(y0, if(c, y1, y2), y3))) A__IF(true, if(y0, if(true, y1, y2), y3), z1) -> c3(MARK(if(y0, if(true, y1, y2), y3))) A__IF(true, if(y0, if(false, y1, y2), y3), z1) -> c3(MARK(if(y0, if(false, y1, y2), y3))) A__IF(true, if(f(y0), if(y1, y2, y3), y4), z1) -> c3(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(true, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1) -> c3(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(true, if(true, if(y0, y1, y2), y3), z1) -> c3(MARK(if(true, if(y0, y1, y2), y3))) A__IF(true, if(false, if(y0, y1, y2), y3), z1) -> c3(MARK(if(false, if(y0, y1, y2), y3))) A__IF(true, if(f(y0), c, y1), z1) -> c3(MARK(if(f(y0), c, y1))) A__IF(true, if(if(y0, y1, y2), c, y3), z1) -> c3(MARK(if(if(y0, y1, y2), c, y3))) A__IF(true, if(false, c, y0), z1) -> c3(MARK(if(false, c, y0))) A__IF(true, if(f(y0), true, y1), z1) -> c3(MARK(if(f(y0), true, y1))) A__IF(true, if(if(y0, y1, y2), true, y3), z1) -> c3(MARK(if(if(y0, y1, y2), true, y3))) A__IF(true, if(false, true, y0), z1) -> c3(MARK(if(false, true, y0))) A__IF(true, if(f(y0), false, y1), z1) -> c3(MARK(if(f(y0), false, y1))) A__IF(true, if(if(y0, y1, y2), false, y3), z1) -> c3(MARK(if(if(y0, y1, y2), false, y3))) A__IF(true, if(false, false, y0), z1) -> c3(MARK(if(false, false, y0))) A__IF(true, if(f(y0), y1, y2), z1) -> c3(MARK(if(f(y0), y1, y2))) A__IF(true, if(f(f(y0)), y1, y2), z1) -> c3(MARK(if(f(f(y0)), y1, y2))) A__IF(true, if(f(if(y0, y1, y2)), y3, y4), z1) -> c3(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(true, if(f(true), y0, y1), z1) -> c3(MARK(if(f(true), y0, y1))) A__IF(true, if(f(false), y0, y1), z1) -> c3(MARK(if(f(false), y0, y1))) A__IF(true, if(f(c), y0, y1), z1) -> c3(MARK(if(f(c), y0, y1))) A__IF(true, if(if(y0, f(y1), y2), y3, y4), z1) -> c3(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(true, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1) -> c3(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(true, if(if(y0, c, y1), y2, y3), z1) -> c3(MARK(if(if(y0, c, y1), y2, y3))) A__IF(true, if(if(y0, true, y1), y2, y3), z1) -> c3(MARK(if(if(y0, true, y1), y2, y3))) A__IF(true, if(if(y0, false, y1), y2, y3), z1) -> c3(MARK(if(if(y0, false, y1), y2, y3))) A__IF(true, if(if(f(y0), y1, y2), y3, y4), z1) -> c3(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(true, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1) -> c3(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(true, if(if(c, y0, y1), y2, y3), z1) -> c3(MARK(if(if(c, y0, y1), y2, y3))) A__IF(true, if(if(true, y0, y1), y2, y3), z1) -> c3(MARK(if(if(true, y0, y1), y2, y3))) A__IF(true, if(if(false, y0, y1), y2, y3), z1) -> c3(MARK(if(if(false, y0, y1), y2, y3))) A__IF(true, if(if(y0, y1, y2), y3, y4), z1) -> c3(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(true, if(c, f(y0), y1), z1) -> c3(MARK(if(c, f(y0), y1))) A__IF(true, if(c, if(y0, y1, y2), y3), z1) -> c3(MARK(if(c, if(y0, y1, y2), y3))) MARK(f(f(true))) -> c6(A__F(a__f(true))) MARK(if(f(true), x1, x2)) -> c7(A__IF(a__f(true), mark(x1), x2)) MARK(if(x0, f(true), x2)) -> c8(A__IF(mark(x0), a__f(true), x2)) A__IF(false, z0, if(false, y0, y1)) -> c4(MARK(if(false, y0, y1))) A__IF(false, z0, if(c, y0, y1)) -> c4(MARK(if(c, y0, y1))) A__IF(false, z0, f(f(y0))) -> c4(MARK(f(f(y0)))) A__IF(false, z0, f(f(f(y0)))) -> c4(MARK(f(f(f(y0))))) A__IF(false, z0, f(f(if(y0, y1, y2)))) -> c4(MARK(f(f(if(y0, y1, y2))))) A__IF(false, z0, f(f(false))) -> c4(MARK(f(f(false)))) A__IF(false, z0, f(f(c))) -> c4(MARK(f(f(c)))) A__IF(false, z0, f(if(y0, y1, y2))) -> c4(MARK(f(if(y0, y1, y2)))) A__IF(false, z0, f(if(y0, f(y1), y2))) -> c4(MARK(f(if(y0, f(y1), y2)))) A__IF(false, z0, f(if(y0, if(y1, y2, y3), y4))) -> c4(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__IF(false, z0, f(if(y0, c, y1))) -> c4(MARK(f(if(y0, c, y1)))) A__IF(false, z0, f(if(y0, true, y1))) -> c4(MARK(f(if(y0, true, y1)))) A__IF(false, z0, f(if(y0, false, y1))) -> c4(MARK(f(if(y0, false, y1)))) A__IF(false, z0, f(if(f(y0), y1, y2))) -> c4(MARK(f(if(f(y0), y1, y2)))) A__IF(false, z0, f(if(if(y0, y1, y2), y3, y4))) -> c4(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__IF(false, z0, f(if(c, y0, y1))) -> c4(MARK(f(if(c, y0, y1)))) A__IF(false, z0, f(if(true, y0, y1))) -> c4(MARK(f(if(true, y0, y1)))) A__IF(false, z0, f(if(false, y0, y1))) -> c4(MARK(f(if(false, y0, y1)))) A__IF(false, z0, if(y0, f(y1), y2)) -> c4(MARK(if(y0, f(y1), y2))) A__IF(false, z0, if(y0, f(f(y1)), y2)) -> c4(MARK(if(y0, f(f(y1)), y2))) A__IF(false, z0, if(y0, f(if(y1, y2, y3)), y4)) -> c4(MARK(if(y0, f(if(y1, y2, y3)), y4))) A__IF(false, z0, if(y0, f(c), y1)) -> c4(MARK(if(y0, f(c), y1))) A__IF(false, z0, if(y0, f(true), y1)) -> c4(MARK(if(y0, f(true), y1))) A__IF(false, z0, if(y0, f(false), y1)) -> c4(MARK(if(y0, f(false), y1))) A__IF(false, z0, if(f(y0), f(y1), y2)) -> c4(MARK(if(f(y0), f(y1), y2))) A__IF(false, z0, if(if(y0, y1, y2), f(y3), y4)) -> c4(MARK(if(if(y0, y1, y2), f(y3), y4))) A__IF(false, z0, if(true, f(y0), y1)) -> c4(MARK(if(true, f(y0), y1))) A__IF(false, z0, if(false, f(y0), y1)) -> c4(MARK(if(false, f(y0), y1))) A__IF(false, z0, if(y0, if(y1, y2, y3), y4)) -> c4(MARK(if(y0, if(y1, y2, y3), y4))) A__IF(false, z0, if(y0, if(y1, f(y2), y3), y4)) -> c4(MARK(if(y0, if(y1, f(y2), y3), y4))) A__IF(false, z0, if(y0, if(y1, if(y2, y3, y4), y5), y6)) -> c4(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) A__IF(false, z0, if(y0, if(y1, c, y2), y3)) -> c4(MARK(if(y0, if(y1, c, y2), y3))) A__IF(false, z0, if(y0, if(y1, true, y2), y3)) -> c4(MARK(if(y0, if(y1, true, y2), y3))) A__IF(false, z0, if(y0, if(y1, false, y2), y3)) -> c4(MARK(if(y0, if(y1, false, y2), y3))) A__IF(false, z0, if(y0, if(f(y1), y2, y3), y4)) -> c4(MARK(if(y0, if(f(y1), y2, y3), y4))) A__IF(false, z0, if(y0, if(if(y1, y2, y3), y4, y5), y6)) -> c4(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) A__IF(false, z0, if(y0, if(c, y1, y2), y3)) -> c4(MARK(if(y0, if(c, y1, y2), y3))) A__IF(false, z0, if(y0, if(true, y1, y2), y3)) -> c4(MARK(if(y0, if(true, y1, y2), y3))) A__IF(false, z0, if(y0, if(false, y1, y2), y3)) -> c4(MARK(if(y0, if(false, y1, y2), y3))) A__IF(false, z0, if(f(y0), if(y1, y2, y3), y4)) -> c4(MARK(if(f(y0), if(y1, y2, y3), y4))) A__IF(false, z0, if(if(y0, y1, y2), if(y3, y4, y5), y6)) -> c4(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) A__IF(false, z0, if(true, if(y0, y1, y2), y3)) -> c4(MARK(if(true, if(y0, y1, y2), y3))) A__IF(false, z0, if(false, if(y0, y1, y2), y3)) -> c4(MARK(if(false, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(y0), c, y1)) -> c4(MARK(if(f(y0), c, y1))) A__IF(false, z0, if(if(y0, y1, y2), c, y3)) -> c4(MARK(if(if(y0, y1, y2), c, y3))) A__IF(false, z0, if(false, c, y0)) -> c4(MARK(if(false, c, y0))) A__IF(false, z0, if(f(y0), true, y1)) -> c4(MARK(if(f(y0), true, y1))) A__IF(false, z0, if(if(y0, y1, y2), true, y3)) -> c4(MARK(if(if(y0, y1, y2), true, y3))) A__IF(false, z0, if(false, true, y0)) -> c4(MARK(if(false, true, y0))) A__IF(false, z0, if(f(y0), false, y1)) -> c4(MARK(if(f(y0), false, y1))) A__IF(false, z0, if(if(y0, y1, y2), false, y3)) -> c4(MARK(if(if(y0, y1, y2), false, y3))) A__IF(false, z0, if(false, false, y0)) -> c4(MARK(if(false, false, y0))) A__IF(false, z0, if(f(y0), y1, y2)) -> c4(MARK(if(f(y0), y1, y2))) A__IF(false, z0, if(f(f(y0)), y1, y2)) -> c4(MARK(if(f(f(y0)), y1, y2))) A__IF(false, z0, if(f(if(y0, y1, y2)), y3, y4)) -> c4(MARK(if(f(if(y0, y1, y2)), y3, y4))) A__IF(false, z0, if(f(false), y0, y1)) -> c4(MARK(if(f(false), y0, y1))) A__IF(false, z0, if(f(c), y0, y1)) -> c4(MARK(if(f(c), y0, y1))) A__IF(false, z0, if(if(y0, f(y1), y2), y3, y4)) -> c4(MARK(if(if(y0, f(y1), y2), y3, y4))) A__IF(false, z0, if(if(y0, if(y1, y2, y3), y4), y5, y6)) -> c4(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) A__IF(false, z0, if(if(y0, c, y1), y2, y3)) -> c4(MARK(if(if(y0, c, y1), y2, y3))) A__IF(false, z0, if(if(y0, true, y1), y2, y3)) -> c4(MARK(if(if(y0, true, y1), y2, y3))) A__IF(false, z0, if(if(y0, false, y1), y2, y3)) -> c4(MARK(if(if(y0, false, y1), y2, y3))) A__IF(false, z0, if(if(f(y0), y1, y2), y3, y4)) -> c4(MARK(if(if(f(y0), y1, y2), y3, y4))) A__IF(false, z0, if(if(if(y0, y1, y2), y3, y4), y5, y6)) -> c4(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) A__IF(false, z0, if(if(c, y0, y1), y2, y3)) -> c4(MARK(if(if(c, y0, y1), y2, y3))) A__IF(false, z0, if(if(true, y0, y1), y2, y3)) -> c4(MARK(if(if(true, y0, y1), y2, y3))) A__IF(false, z0, if(if(false, y0, y1), y2, y3)) -> c4(MARK(if(if(false, y0, y1), y2, y3))) A__IF(false, z0, if(if(y0, y1, y2), y3, y4)) -> c4(MARK(if(if(y0, y1, y2), y3, y4))) A__IF(false, z0, if(c, f(y0), y1)) -> c4(MARK(if(c, f(y0), y1))) A__IF(false, z0, if(c, if(y0, y1, y2), y3)) -> c4(MARK(if(c, if(y0, y1, y2), y3))) A__IF(false, z0, if(f(true), y0, y1)) -> c4(MARK(if(f(true), y0, y1))) A__IF(false, z0, f(f(true))) -> c4(MARK(f(f(true)))) A__F(f(f(z0))) -> c1(MARK(f(f(z0)))) A__F(f(if(z0, z1, z2))) -> c1(MARK(f(if(z0, z1, z2)))) A__F(if(x0, f(z0), x2)) -> c1(MARK(if(x0, f(z0), x2))) A__F(if(x0, if(z0, z1, z2), x2)) -> c1(MARK(if(x0, if(z0, z1, z2), x2))) A__F(if(x0, c, x2)) -> c1(MARK(if(x0, c, x2))) A__F(if(x0, true, x2)) -> c1(MARK(if(x0, true, x2))) A__F(if(x0, false, x2)) -> c1(MARK(if(x0, false, x2))) A__F(if(f(z0), x1, x2)) -> c1(MARK(if(f(z0), x1, x2))) A__F(if(if(z0, z1, z2), x1, x2)) -> c1(MARK(if(if(z0, z1, z2), x1, x2))) A__F(if(c, x1, x2)) -> c1(MARK(if(c, x1, x2))) A__F(if(true, x1, x2)) -> c1(MARK(if(true, x1, x2))) A__F(if(false, x1, x2)) -> c1(MARK(if(false, x1, x2))) MARK(f(f(false))) -> c6(A__F(a__f(false))) MARK(if(f(false), x1, x2)) -> c7(A__IF(a__f(false), mark(x1), x2)) MARK(if(x0, f(false), x2)) -> c8(A__IF(mark(x0), a__f(false), x2)) MARK(if(c, if(false, y0, y1), z1)) -> c8(MARK(if(false, y0, y1))) MARK(if(c, if(c, y0, y1), z1)) -> c8(MARK(if(c, y0, y1))) MARK(if(c, f(f(y0)), z1)) -> c8(MARK(f(f(y0)))) MARK(if(c, f(f(f(y0))), z1)) -> c8(MARK(f(f(f(y0))))) MARK(if(c, f(f(if(y0, y1, y2))), z1)) -> c8(MARK(f(f(if(y0, y1, y2))))) MARK(if(c, f(f(c)), z1)) -> c8(MARK(f(f(c)))) MARK(if(c, f(if(y0, y1, y2)), z1)) -> c8(MARK(f(if(y0, y1, y2)))) MARK(if(c, f(if(y0, f(y1), y2)), z1)) -> c8(MARK(f(if(y0, f(y1), y2)))) MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z1)) -> c8(MARK(f(if(y0, if(y1, y2, y3), y4)))) MARK(if(c, f(if(y0, c, y1)), z1)) -> c8(MARK(f(if(y0, c, y1)))) MARK(if(c, f(if(y0, true, y1)), z1)) -> c8(MARK(f(if(y0, true, y1)))) MARK(if(c, f(if(y0, false, y1)), z1)) -> c8(MARK(f(if(y0, false, y1)))) MARK(if(c, f(if(f(y0), y1, y2)), z1)) -> c8(MARK(f(if(f(y0), y1, y2)))) MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z1)) -> c8(MARK(f(if(if(y0, y1, y2), y3, y4)))) MARK(if(c, f(if(c, y0, y1)), z1)) -> c8(MARK(f(if(c, y0, y1)))) MARK(if(c, f(if(true, y0, y1)), z1)) -> c8(MARK(f(if(true, y0, y1)))) MARK(if(c, f(if(false, y0, y1)), z1)) -> c8(MARK(f(if(false, y0, y1)))) MARK(if(c, if(y0, f(y1), y2), z1)) -> c8(MARK(if(y0, f(y1), y2))) MARK(if(c, if(y0, f(f(y1)), y2), z1)) -> c8(MARK(if(y0, f(f(y1)), y2))) MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z1)) -> c8(MARK(if(y0, f(if(y1, y2, y3)), y4))) MARK(if(c, if(y0, f(c), y1), z1)) -> c8(MARK(if(y0, f(c), y1))) MARK(if(c, if(y0, f(true), y1), z1)) -> c8(MARK(if(y0, f(true), y1))) MARK(if(c, if(y0, f(false), y1), z1)) -> c8(MARK(if(y0, f(false), y1))) MARK(if(c, if(f(y0), f(y1), y2), z1)) -> c8(MARK(if(f(y0), f(y1), y2))) MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z1)) -> c8(MARK(if(if(y0, y1, y2), f(y3), y4))) MARK(if(c, if(true, f(y0), y1), z1)) -> c8(MARK(if(true, f(y0), y1))) MARK(if(c, if(false, f(y0), y1), z1)) -> c8(MARK(if(false, f(y0), y1))) MARK(if(c, if(y0, if(y1, y2, y3), y4), z1)) -> c8(MARK(if(y0, if(y1, y2, y3), y4))) MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z1)) -> c8(MARK(if(y0, if(y1, f(y2), y3), y4))) MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z1)) -> c8(MARK(if(y0, if(y1, if(y2, y3, y4), y5), y6))) MARK(if(c, if(y0, if(y1, c, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, c, y2), y3))) MARK(if(c, if(y0, if(y1, true, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, true, y2), y3))) MARK(if(c, if(y0, if(y1, false, y2), y3), z1)) -> c8(MARK(if(y0, if(y1, false, y2), y3))) MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z1)) -> c8(MARK(if(y0, if(f(y1), y2, y3), y4))) MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z1)) -> c8(MARK(if(y0, if(if(y1, y2, y3), y4, y5), y6))) MARK(if(c, if(y0, if(c, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(c, y1, y2), y3))) MARK(if(c, if(y0, if(true, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(true, y1, y2), y3))) MARK(if(c, if(y0, if(false, y1, y2), y3), z1)) -> c8(MARK(if(y0, if(false, y1, y2), y3))) MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z1)) -> c8(MARK(if(f(y0), if(y1, y2, y3), y4))) MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z1)) -> c8(MARK(if(if(y0, y1, y2), if(y3, y4, y5), y6))) MARK(if(c, if(true, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(true, if(y0, y1, y2), y3))) MARK(if(c, if(false, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(false, if(y0, y1, y2), y3))) MARK(if(c, if(f(y0), c, y1), z1)) -> c8(MARK(if(f(y0), c, y1))) MARK(if(c, if(if(y0, y1, y2), c, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), c, y3))) MARK(if(c, if(false, c, y0), z1)) -> c8(MARK(if(false, c, y0))) MARK(if(c, if(f(y0), true, y1), z1)) -> c8(MARK(if(f(y0), true, y1))) MARK(if(c, if(if(y0, y1, y2), true, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), true, y3))) MARK(if(c, if(false, true, y0), z1)) -> c8(MARK(if(false, true, y0))) MARK(if(c, if(f(y0), false, y1), z1)) -> c8(MARK(if(f(y0), false, y1))) MARK(if(c, if(if(y0, y1, y2), false, y3), z1)) -> c8(MARK(if(if(y0, y1, y2), false, y3))) MARK(if(c, if(false, false, y0), z1)) -> c8(MARK(if(false, false, y0))) MARK(if(c, if(f(y0), y1, y2), z1)) -> c8(MARK(if(f(y0), y1, y2))) MARK(if(c, if(f(f(y0)), y1, y2), z1)) -> c8(MARK(if(f(f(y0)), y1, y2))) MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z1)) -> c8(MARK(if(f(if(y0, y1, y2)), y3, y4))) MARK(if(c, if(f(c), y0, y1), z1)) -> c8(MARK(if(f(c), y0, y1))) MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z1)) -> c8(MARK(if(if(y0, f(y1), y2), y3, y4))) MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z1)) -> c8(MARK(if(if(y0, if(y1, y2, y3), y4), y5, y6))) MARK(if(c, if(if(y0, c, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, c, y1), y2, y3))) MARK(if(c, if(if(y0, true, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, true, y1), y2, y3))) MARK(if(c, if(if(y0, false, y1), y2, y3), z1)) -> c8(MARK(if(if(y0, false, y1), y2, y3))) MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z1)) -> c8(MARK(if(if(f(y0), y1, y2), y3, y4))) MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z1)) -> c8(MARK(if(if(if(y0, y1, y2), y3, y4), y5, y6))) MARK(if(c, if(if(c, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(c, y0, y1), y2, y3))) MARK(if(c, if(if(true, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(true, y0, y1), y2, y3))) MARK(if(c, if(if(false, y0, y1), y2, y3), z1)) -> c8(MARK(if(if(false, y0, y1), y2, y3))) MARK(if(c, if(if(y0, y1, y2), y3, y4), z1)) -> c8(MARK(if(if(y0, y1, y2), y3, y4))) MARK(if(c, if(c, f(y0), y1), z1)) -> c8(MARK(if(c, f(y0), y1))) MARK(if(c, if(c, if(y0, y1, y2), y3), z1)) -> c8(MARK(if(c, if(y0, y1, y2), y3))) MARK(if(c, if(f(true), y0, y1), z1)) -> c8(MARK(if(f(true), y0, y1))) MARK(if(c, if(f(false), y0, y1), z1)) -> c8(MARK(if(f(false), y0, y1))) MARK(if(c, f(f(true)), z1)) -> c8(MARK(f(f(true)))) MARK(if(c, f(f(false)), z1)) -> c8(MARK(f(f(false)))) A__F(f(f(f(y0)))) -> c1(MARK(f(f(f(y0))))) A__F(f(f(if(y0, y1, y2)))) -> c1(MARK(f(f(if(y0, y1, y2))))) A__F(f(f(c))) -> c1(MARK(f(f(c)))) A__F(f(if(y0, f(y1), y2))) -> c1(MARK(f(if(y0, f(y1), y2)))) A__F(f(if(y0, if(y1, y2, y3), y4))) -> c1(MARK(f(if(y0, if(y1, y2, y3), y4)))) A__F(f(if(y0, c, y1))) -> c1(MARK(f(if(y0, c, y1)))) A__F(f(if(y0, true, y1))) -> c1(MARK(f(if(y0, true, y1)))) A__F(f(if(y0, false, y1))) -> c1(MARK(f(if(y0, false, y1)))) A__F(f(if(f(y0), y1, y2))) -> c1(MARK(f(if(f(y0), y1, y2)))) A__F(f(if(if(y0, y1, y2), y3, y4))) -> c1(MARK(f(if(if(y0, y1, y2), y3, y4)))) A__F(f(if(c, y0, y1))) -> c1(MARK(f(if(c, y0, y1)))) A__F(f(if(true, y0, y1))) -> c1(MARK(f(if(true, y0, y1)))) A__F(f(if(false, y0, y1))) -> c1(MARK(f(if(false, y0, y1)))) A__F(f(f(true))) -> c1(MARK(f(f(true)))) A__F(f(f(false))) -> c1(MARK(f(f(false)))) A__F(if(z0, f(f(y1)), z2)) -> c1(MARK(if(z0, f(f(y1)), z2))) A__F(if(z0, f(if(y1, y2, y3)), z2)) -> c1(MARK(if(z0, f(if(y1, y2, y3)), z2))) A__F(if(z0, f(c), z2)) -> c1(MARK(if(z0, f(c), z2))) A__F(if(z0, f(true), z2)) -> c1(MARK(if(z0, f(true), z2))) A__F(if(z0, f(false), z2)) -> c1(MARK(if(z0, f(false), z2))) A__F(if(f(y0), f(y1), z2)) -> c1(MARK(if(f(y0), f(y1), z2))) A__F(if(if(y0, y1, y2), f(y3), z2)) -> c1(MARK(if(if(y0, y1, y2), f(y3), z2))) A__F(if(true, f(y0), z2)) -> c1(MARK(if(true, f(y0), z2))) A__F(if(false, f(y0), z2)) -> c1(MARK(if(false, f(y0), z2))) A__F(if(z0, if(y1, f(y2), y3), z2)) -> c1(MARK(if(z0, if(y1, f(y2), y3), z2))) A__F(if(z0, if(y1, if(y2, y3, y4), y5), z2)) -> c1(MARK(if(z0, if(y1, if(y2, y3, y4), y5), z2))) A__F(if(z0, if(y1, c, y2), z2)) -> c1(MARK(if(z0, if(y1, c, y2), z2))) A__F(if(z0, if(y1, true, y2), z2)) -> c1(MARK(if(z0, if(y1, true, y2), z2))) A__F(if(z0, if(y1, false, y2), z2)) -> c1(MARK(if(z0, if(y1, false, y2), z2))) A__F(if(z0, if(f(y1), y2, y3), z2)) -> c1(MARK(if(z0, if(f(y1), y2, y3), z2))) A__F(if(z0, if(if(y1, y2, y3), y4, y5), z2)) -> c1(MARK(if(z0, if(if(y1, y2, y3), y4, y5), z2))) A__F(if(z0, if(c, y1, y2), z2)) -> c1(MARK(if(z0, if(c, y1, y2), z2))) A__F(if(z0, if(true, y1, y2), z2)) -> c1(MARK(if(z0, if(true, y1, y2), z2))) A__F(if(z0, if(false, y1, y2), z2)) -> c1(MARK(if(z0, if(false, y1, y2), z2))) A__F(if(f(y0), if(y1, y2, y3), z2)) -> c1(MARK(if(f(y0), if(y1, y2, y3), z2))) A__F(if(if(y0, y1, y2), if(y3, y4, y5), z2)) -> c1(MARK(if(if(y0, y1, y2), if(y3, y4, y5), z2))) A__F(if(true, if(y0, y1, y2), z2)) -> c1(MARK(if(true, if(y0, y1, y2), z2))) A__F(if(false, if(y0, y1, y2), z2)) -> c1(MARK(if(false, if(y0, y1, y2), z2))) A__F(if(f(y0), c, z2)) -> c1(MARK(if(f(y0), c, z2))) A__F(if(if(y0, y1, y2), c, z2)) -> c1(MARK(if(if(y0, y1, y2), c, z2))) A__F(if(false, c, z2)) -> c1(MARK(if(false, c, z2))) A__F(if(f(y0), true, z2)) -> c1(MARK(if(f(y0), true, z2))) A__F(if(if(y0, y1, y2), true, z2)) -> c1(MARK(if(if(y0, y1, y2), true, z2))) A__F(if(false, true, z2)) -> c1(MARK(if(false, true, z2))) A__F(if(f(y0), false, z2)) -> c1(MARK(if(f(y0), false, z2))) A__F(if(if(y0, y1, y2), false, z2)) -> c1(MARK(if(if(y0, y1, y2), false, z2))) A__F(if(false, false, z2)) -> c1(MARK(if(false, false, z2))) A__F(if(f(f(y0)), z1, z2)) -> c1(MARK(if(f(f(y0)), z1, z2))) A__F(if(f(if(y0, y1, y2)), z1, z2)) -> c1(MARK(if(f(if(y0, y1, y2)), z1, z2))) A__F(if(f(c), z1, z2)) -> c1(MARK(if(f(c), z1, z2))) A__F(if(if(y0, f(y1), y2), z1, z2)) -> c1(MARK(if(if(y0, f(y1), y2), z1, z2))) A__F(if(if(y0, if(y1, y2, y3), y4), z1, z2)) -> c1(MARK(if(if(y0, if(y1, y2, y3), y4), z1, z2))) A__F(if(if(y0, c, y1), z1, z2)) -> c1(MARK(if(if(y0, c, y1), z1, z2))) A__F(if(if(y0, true, y1), z1, z2)) -> c1(MARK(if(if(y0, true, y1), z1, z2))) A__F(if(if(y0, false, y1), z1, z2)) -> c1(MARK(if(if(y0, false, y1), z1, z2))) A__F(if(if(f(y0), y1, y2), z1, z2)) -> c1(MARK(if(if(f(y0), y1, y2), z1, z2))) A__F(if(if(if(y0, y1, y2), y3, y4), z1, z2)) -> c1(MARK(if(if(if(y0, y1, y2), y3, y4), z1, z2))) A__F(if(if(c, y0, y1), z1, z2)) -> c1(MARK(if(if(c, y0, y1), z1, z2))) A__F(if(if(true, y0, y1), z1, z2)) -> c1(MARK(if(if(true, y0, y1), z1, z2))) A__F(if(if(false, y0, y1), z1, z2)) -> c1(MARK(if(if(false, y0, y1), z1, z2))) A__F(if(c, f(y0), z2)) -> c1(MARK(if(c, f(y0), z2))) A__F(if(c, if(y0, y1, y2), z2)) -> c1(MARK(if(c, if(y0, y1, y2), z2))) A__F(if(f(true), z1, z2)) -> c1(MARK(if(f(true), z1, z2))) A__F(if(f(false), z1, z2)) -> c1(MARK(if(f(false), z1, z2))) A__F(if(c, if(false, y0, y1), z2)) -> c1(MARK(if(c, if(false, y0, y1), z2))) A__F(if(c, if(c, y0, y1), z2)) -> c1(MARK(if(c, if(c, y0, y1), z2))) A__F(if(c, f(f(y0)), z2)) -> c1(MARK(if(c, f(f(y0)), z2))) A__F(if(c, f(f(f(y0))), z2)) -> c1(MARK(if(c, f(f(f(y0))), z2))) A__F(if(c, f(f(if(y0, y1, y2))), z2)) -> c1(MARK(if(c, f(f(if(y0, y1, y2))), z2))) A__F(if(c, f(f(c)), z2)) -> c1(MARK(if(c, f(f(c)), z2))) A__F(if(c, f(if(y0, y1, y2)), z2)) -> c1(MARK(if(c, f(if(y0, y1, y2)), z2))) A__F(if(c, f(if(y0, f(y1), y2)), z2)) -> c1(MARK(if(c, f(if(y0, f(y1), y2)), z2))) A__F(if(c, f(if(y0, if(y1, y2, y3), y4)), z2)) -> c1(MARK(if(c, f(if(y0, if(y1, y2, y3), y4)), z2))) A__F(if(c, f(if(y0, c, y1)), z2)) -> c1(MARK(if(c, f(if(y0, c, y1)), z2))) A__F(if(c, f(if(y0, true, y1)), z2)) -> c1(MARK(if(c, f(if(y0, true, y1)), z2))) A__F(if(c, f(if(y0, false, y1)), z2)) -> c1(MARK(if(c, f(if(y0, false, y1)), z2))) A__F(if(c, f(if(f(y0), y1, y2)), z2)) -> c1(MARK(if(c, f(if(f(y0), y1, y2)), z2))) A__F(if(c, f(if(if(y0, y1, y2), y3, y4)), z2)) -> c1(MARK(if(c, f(if(if(y0, y1, y2), y3, y4)), z2))) A__F(if(c, f(if(c, y0, y1)), z2)) -> c1(MARK(if(c, f(if(c, y0, y1)), z2))) A__F(if(c, f(if(true, y0, y1)), z2)) -> c1(MARK(if(c, f(if(true, y0, y1)), z2))) A__F(if(c, f(if(false, y0, y1)), z2)) -> c1(MARK(if(c, f(if(false, y0, y1)), z2))) A__F(if(c, if(y0, f(y1), y2), z2)) -> c1(MARK(if(c, if(y0, f(y1), y2), z2))) A__F(if(c, if(y0, f(f(y1)), y2), z2)) -> c1(MARK(if(c, if(y0, f(f(y1)), y2), z2))) A__F(if(c, if(y0, f(if(y1, y2, y3)), y4), z2)) -> c1(MARK(if(c, if(y0, f(if(y1, y2, y3)), y4), z2))) A__F(if(c, if(y0, f(c), y1), z2)) -> c1(MARK(if(c, if(y0, f(c), y1), z2))) A__F(if(c, if(y0, f(true), y1), z2)) -> c1(MARK(if(c, if(y0, f(true), y1), z2))) A__F(if(c, if(y0, f(false), y1), z2)) -> c1(MARK(if(c, if(y0, f(false), y1), z2))) A__F(if(c, if(f(y0), f(y1), y2), z2)) -> c1(MARK(if(c, if(f(y0), f(y1), y2), z2))) A__F(if(c, if(if(y0, y1, y2), f(y3), y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), f(y3), y4), z2))) A__F(if(c, if(true, f(y0), y1), z2)) -> c1(MARK(if(c, if(true, f(y0), y1), z2))) A__F(if(c, if(false, f(y0), y1), z2)) -> c1(MARK(if(c, if(false, f(y0), y1), z2))) A__F(if(c, if(y0, if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, y2, y3), y4), z2))) A__F(if(c, if(y0, if(y1, f(y2), y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(y1, f(y2), y3), y4), z2))) A__F(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(y1, if(y2, y3, y4), y5), y6), z2))) A__F(if(c, if(y0, if(y1, c, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, c, y2), y3), z2))) A__F(if(c, if(y0, if(y1, true, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, true, y2), y3), z2))) A__F(if(c, if(y0, if(y1, false, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(y1, false, y2), y3), z2))) A__F(if(c, if(y0, if(f(y1), y2, y3), y4), z2)) -> c1(MARK(if(c, if(y0, if(f(y1), y2, y3), y4), z2))) A__F(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2)) -> c1(MARK(if(c, if(y0, if(if(y1, y2, y3), y4, y5), y6), z2))) A__F(if(c, if(y0, if(c, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(c, y1, y2), y3), z2))) A__F(if(c, if(y0, if(true, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(true, y1, y2), y3), z2))) A__F(if(c, if(y0, if(false, y1, y2), y3), z2)) -> c1(MARK(if(c, if(y0, if(false, y1, y2), y3), z2))) A__F(if(c, if(f(y0), if(y1, y2, y3), y4), z2)) -> c1(MARK(if(c, if(f(y0), if(y1, y2, y3), y4), z2))) A__F(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), if(y3, y4, y5), y6), z2))) A__F(if(c, if(true, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(true, if(y0, y1, y2), y3), z2))) A__F(if(c, if(false, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(false, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(y0), c, y1), z2)) -> c1(MARK(if(c, if(f(y0), c, y1), z2))) A__F(if(c, if(if(y0, y1, y2), c, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), c, y3), z2))) A__F(if(c, if(false, c, y0), z2)) -> c1(MARK(if(c, if(false, c, y0), z2))) A__F(if(c, if(f(y0), true, y1), z2)) -> c1(MARK(if(c, if(f(y0), true, y1), z2))) A__F(if(c, if(if(y0, y1, y2), true, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), true, y3), z2))) A__F(if(c, if(false, true, y0), z2)) -> c1(MARK(if(c, if(false, true, y0), z2))) A__F(if(c, if(f(y0), false, y1), z2)) -> c1(MARK(if(c, if(f(y0), false, y1), z2))) A__F(if(c, if(if(y0, y1, y2), false, y3), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), false, y3), z2))) A__F(if(c, if(false, false, y0), z2)) -> c1(MARK(if(c, if(false, false, y0), z2))) A__F(if(c, if(f(y0), y1, y2), z2)) -> c1(MARK(if(c, if(f(y0), y1, y2), z2))) A__F(if(c, if(f(f(y0)), y1, y2), z2)) -> c1(MARK(if(c, if(f(f(y0)), y1, y2), z2))) A__F(if(c, if(f(if(y0, y1, y2)), y3, y4), z2)) -> c1(MARK(if(c, if(f(if(y0, y1, y2)), y3, y4), z2))) A__F(if(c, if(f(c), y0, y1), z2)) -> c1(MARK(if(c, if(f(c), y0, y1), z2))) A__F(if(c, if(if(y0, f(y1), y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, f(y1), y2), y3, y4), z2))) A__F(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(y0, if(y1, y2, y3), y4), y5, y6), z2))) A__F(if(c, if(if(y0, c, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, c, y1), y2, y3), z2))) A__F(if(c, if(if(y0, true, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, true, y1), y2, y3), z2))) A__F(if(c, if(if(y0, false, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(y0, false, y1), y2, y3), z2))) A__F(if(c, if(if(f(y0), y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(f(y0), y1, y2), y3, y4), z2))) A__F(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2)) -> c1(MARK(if(c, if(if(if(y0, y1, y2), y3, y4), y5, y6), z2))) A__F(if(c, if(if(c, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(c, y0, y1), y2, y3), z2))) A__F(if(c, if(if(true, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(true, y0, y1), y2, y3), z2))) A__F(if(c, if(if(false, y0, y1), y2, y3), z2)) -> c1(MARK(if(c, if(if(false, y0, y1), y2, y3), z2))) A__F(if(c, if(if(y0, y1, y2), y3, y4), z2)) -> c1(MARK(if(c, if(if(y0, y1, y2), y3, y4), z2))) A__F(if(c, if(c, f(y0), y1), z2)) -> c1(MARK(if(c, if(c, f(y0), y1), z2))) A__F(if(c, if(c, if(y0, y1, y2), y3), z2)) -> c1(MARK(if(c, if(c, if(y0, y1, y2), y3), z2))) A__F(if(c, if(f(true), y0, y1), z2)) -> c1(MARK(if(c, if(f(true), y0, y1), z2))) A__F(if(c, if(f(false), y0, y1), z2)) -> c1(MARK(if(c, if(f(false), y0, y1), z2))) A__F(if(c, f(f(true)), z2)) -> c1(MARK(if(c, f(f(true)), z2))) A__F(if(c, f(f(false)), z2)) -> c1(MARK(if(c, f(f(false)), z2))) MARK(if(false, c, if(false, y1, y2))) -> c7(A__IF(false, c, if(false, y1, y2))) MARK(if(false, c, if(c, y1, y2))) -> c7(A__IF(false, c, if(c, y1, y2))) MARK(if(false, c, f(f(y1)))) -> c7(A__IF(false, c, f(f(y1)))) MARK(if(false, c, f(f(f(y1))))) -> c7(A__IF(false, c, f(f(f(y1))))) MARK(if(false, c, f(f(if(y1, y2, y3))))) -> c7(A__IF(false, c, f(f(if(y1, y2, y3))))) MARK(if(false, c, f(f(false)))) -> c7(A__IF(false, c, f(f(false)))) MARK(if(false, c, f(f(c)))) -> c7(A__IF(false, c, f(f(c)))) MARK(if(false, c, f(if(y1, y2, y3)))) -> c7(A__IF(false, c, f(if(y1, y2, y3)))) MARK(if(false, c, f(if(y1, f(y2), y3)))) -> c7(A__IF(false, c, f(if(y1, f(y2), y3)))) MARK(if(false, c, f(if(y1, if(y2, y3, y4), y5)))) -> c7(A__IF(false, c, f(if(y1, if(y2, y3, y4), y5)))) MARK(if(false, c, f(if(y1, c, y2)))) -> c7(A__IF(false, c, f(if(y1, c, y2)))) MARK(if(false, c, f(if(y1, true, y2)))) -> c7(A__IF(false, c, f(if(y1, true, y2)))) MARK(if(false, c, f(if(y1, false, y2)))) -> c7(A__IF(false, c, f(if(y1, false, y2)))) MARK(if(false, c, f(if(f(y1), y2, y3)))) -> c7(A__IF(false, c, f(if(f(y1), y2, y3)))) MARK(if(false, c, f(if(if(y1, y2, y3), y4, y5)))) -> c7(A__IF(false, c, f(if(if(y1, y2, y3), y4, y5)))) MARK(if(false, c, f(if(c, y1, y2)))) -> c7(A__IF(false, c, f(if(c, y1, y2)))) MARK(if(false, c, f(if(true, y1, y2)))) -> c7(A__IF(false, c, f(if(true, y1, y2)))) MARK(if(false, c, f(if(false, y1, y2)))) -> c7(A__IF(false, c, f(if(false, y1, y2)))) MARK(if(false, c, if(y1, f(y2), y3))) -> c7(A__IF(false, c, if(y1, f(y2), y3))) MARK(if(false, c, if(y1, f(f(y2)), y3))) -> c7(A__IF(false, c, if(y1, f(f(y2)), y3))) MARK(if(false, c, if(y1, f(if(y2, y3, y4)), y5))) -> c7(A__IF(false, c, if(y1, f(if(y2, y3, y4)), y5))) MARK(if(false, c, if(y1, f(c), y2))) -> c7(A__IF(false, c, if(y1, f(c), y2))) MARK(if(false, c, if(y1, f(true), y2))) -> c7(A__IF(false, c, if(y1, f(true), y2))) MARK(if(false, c, if(y1, f(false), y2))) -> c7(A__IF(false, c, if(y1, f(false), y2))) MARK(if(false, c, if(f(y1), f(y2), y3))) -> c7(A__IF(false, c, if(f(y1), f(y2), y3))) MARK(if(false, c, if(if(y1, y2, y3), f(y4), y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), f(y4), y5))) MARK(if(false, c, if(true, f(y1), y2))) -> c7(A__IF(false, c, if(true, f(y1), y2))) MARK(if(false, c, if(false, f(y1), y2))) -> c7(A__IF(false, c, if(false, f(y1), y2))) MARK(if(false, c, if(y1, if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, y3, y4), y5))) MARK(if(false, c, if(y1, if(y2, f(y3), y4), y5))) -> c7(A__IF(false, c, if(y1, if(y2, f(y3), y4), y5))) MARK(if(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) -> c7(A__IF(false, c, if(y1, if(y2, if(y3, y4, y5), y6), y7))) MARK(if(false, c, if(y1, if(y2, c, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, c, y3), y4))) MARK(if(false, c, if(y1, if(y2, true, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, true, y3), y4))) MARK(if(false, c, if(y1, if(y2, false, y3), y4))) -> c7(A__IF(false, c, if(y1, if(y2, false, y3), y4))) MARK(if(false, c, if(y1, if(f(y2), y3, y4), y5))) -> c7(A__IF(false, c, if(y1, if(f(y2), y3, y4), y5))) MARK(if(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) -> c7(A__IF(false, c, if(y1, if(if(y2, y3, y4), y5, y6), y7))) MARK(if(false, c, if(y1, if(c, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(c, y2, y3), y4))) MARK(if(false, c, if(y1, if(true, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(true, y2, y3), y4))) MARK(if(false, c, if(y1, if(false, y2, y3), y4))) -> c7(A__IF(false, c, if(y1, if(false, y2, y3), y4))) MARK(if(false, c, if(f(y1), if(y2, y3, y4), y5))) -> c7(A__IF(false, c, if(f(y1), if(y2, y3, y4), y5))) MARK(if(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) -> c7(A__IF(false, c, if(if(y1, y2, y3), if(y4, y5, y6), y7))) MARK(if(false, c, if(true, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(true, if(y1, y2, y3), y4))) MARK(if(false, c, if(false, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(false, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(y1), c, y2))) -> c7(A__IF(false, c, if(f(y1), c, y2))) MARK(if(false, c, if(if(y1, y2, y3), c, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), c, y4))) MARK(if(false, c, if(false, c, y1))) -> c7(A__IF(false, c, if(false, c, y1))) MARK(if(false, c, if(f(y1), true, y2))) -> c7(A__IF(false, c, if(f(y1), true, y2))) MARK(if(false, c, if(if(y1, y2, y3), true, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), true, y4))) MARK(if(false, c, if(false, true, y1))) -> c7(A__IF(false, c, if(false, true, y1))) MARK(if(false, c, if(f(y1), false, y2))) -> c7(A__IF(false, c, if(f(y1), false, y2))) MARK(if(false, c, if(if(y1, y2, y3), false, y4))) -> c7(A__IF(false, c, if(if(y1, y2, y3), false, y4))) MARK(if(false, c, if(false, false, y1))) -> c7(A__IF(false, c, if(false, false, y1))) MARK(if(false, c, if(f(y1), y2, y3))) -> c7(A__IF(false, c, if(f(y1), y2, y3))) MARK(if(false, c, if(f(f(y1)), y2, y3))) -> c7(A__IF(false, c, if(f(f(y1)), y2, y3))) MARK(if(false, c, if(f(if(y1, y2, y3)), y4, y5))) -> c7(A__IF(false, c, if(f(if(y1, y2, y3)), y4, y5))) MARK(if(false, c, if(f(false), y1, y2))) -> c7(A__IF(false, c, if(f(false), y1, y2))) MARK(if(false, c, if(f(c), y1, y2))) -> c7(A__IF(false, c, if(f(c), y1, y2))) MARK(if(false, c, if(if(y1, f(y2), y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, f(y2), y3), y4, y5))) MARK(if(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) -> c7(A__IF(false, c, if(if(y1, if(y2, y3, y4), y5), y6, y7))) MARK(if(false, c, if(if(y1, c, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, c, y2), y3, y4))) MARK(if(false, c, if(if(y1, true, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, true, y2), y3, y4))) MARK(if(false, c, if(if(y1, false, y2), y3, y4))) -> c7(A__IF(false, c, if(if(y1, false, y2), y3, y4))) MARK(if(false, c, if(if(f(y1), y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(f(y1), y2, y3), y4, y5))) MARK(if(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) -> c7(A__IF(false, c, if(if(if(y1, y2, y3), y4, y5), y6, y7))) MARK(if(false, c, if(if(c, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(c, y1, y2), y3, y4))) MARK(if(false, c, if(if(true, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(true, y1, y2), y3, y4))) MARK(if(false, c, if(if(false, y1, y2), y3, y4))) -> c7(A__IF(false, c, if(if(false, y1, y2), y3, y4))) MARK(if(false, c, if(if(y1, y2, y3), y4, y5))) -> c7(A__IF(false, c, if(if(y1, y2, y3), y4, y5))) MARK(if(false, c, if(c, f(y1), y2))) -> c7(A__IF(false, c, if(c, f(y1), y2))) MARK(if(false, c, if(c, if(y1, y2, y3), y4))) -> c7(A__IF(false, c, if(c, if(y1, y2, y3), y4))) MARK(if(false, c, if(f(true), y1, y2))) -> c7(A__IF(false, c, if(f(true), y1, y2))) MARK(if(false, c, f(f(true)))) -> c7(A__IF(false, c, f(f(true)))) K tuples:none Defined Rule Symbols: a__f_1, a__if_3, mark_1 Defined Pair Symbols: MARK_1, A__F_1, A__IF_3 Compound Symbols: c7_1, c8_2, c1_1, c6_2, c6_1, c7_2, c8_1, c3_1, c4_1