KILLED proof of input_YdUnXYyqv1.trs # AProVE Commit ID: 5b976082cb74a395683ed8cc7acf94bd611ab29f fuhs 20230524 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) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) typed CpxTrs (13) OrderProof [LOWER BOUND(ID), 0 ms] (14) typed CpxTrs (15) RewriteLemmaProof [LOWER BOUND(ID), 1595 ms] (16) typed CpxTrs (17) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 4 ms] (18) TRS for Loop Detection (19) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (20) CdtProblem (21) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (22) CdtProblem (23) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CpxRelTRS (25) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (26) CpxTRS (27) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CpxWeightedTrs (29) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (30) CpxTypedWeightedTrs (31) CompletionProof [UPPER BOUND(ID), 0 ms] (32) CpxTypedWeightedCompleteTrs (33) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) CompletionProof [UPPER BOUND(ID), 0 ms] (36) CpxTypedWeightedCompleteTrs (37) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (38) CpxTypedWeightedCompleteTrs (39) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) SimplificationProof [BOTH BOUNDS(ID, ID), 3 ms] (42) CpxRNTS (43) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (46) CdtProblem (47) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (62) CdtProblem (63) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (68) CdtProblem (69) CdtNarrowingProof [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) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [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), 31 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) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CdtProblem (103) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (104) CdtProblem (105) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 3 ms] (106) CdtProblem (107) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CdtProblem (111) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 35 ms] (114) CdtProblem (115) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CdtProblem (129) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 24 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) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CdtProblem (143) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (144) CdtProblem (145) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 265 ms] (146) CdtProblem (147) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 14 ms] (148) CdtProblem (149) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (150) CdtProblem (151) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (152) CdtProblem (153) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (154) CdtProblem (155) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (156) CdtProblem (157) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 3 ms] (158) CdtProblem (159) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 256 ms] (160) CdtProblem (161) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (162) CdtProblem (163) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (164) CdtProblem (165) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 303 ms] (166) CdtProblem (167) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (168) CdtProblem (169) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 274 ms] (170) CdtProblem (171) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 320 ms] (172) CdtProblem (173) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (174) CpxWeightedTrs (175) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (176) CpxTypedWeightedTrs (177) CompletionProof [UPPER BOUND(ID), 0 ms] (178) CpxTypedWeightedCompleteTrs (179) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (180) CpxTypedWeightedCompleteTrs (181) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (182) CpxRNTS (183) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (184) CpxRNTS (185) CompletionProof [UPPER BOUND(ID), 0 ms] (186) CpxTypedWeightedCompleteTrs (187) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (188) CpxRNTS ---------------------------------------- (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) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (6) 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 ---------------------------------------- (7) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (9) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (12) Obligation: Innermost TRS: Rules: 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 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 Types: A__F :: c:true:f:false:if -> c1:c2 c1 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c1:c2 A__IF :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c3:c4:c5 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 MARK :: c:true:f:false:if -> c6:c7:c8:c9:c10:c11 c2 :: c1:c2 c3 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 false :: c:true:f:false:if c4 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 c5 :: c3:c4:c5 c6 :: c1:c2 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if c7 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c8 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c9 :: c6:c7:c8:c9:c10:c11 c10 :: c6:c7:c8:c9:c10:c11 c11 :: c6:c7:c8:c9:c10:c11 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 hole_c1:c21_12 :: c1:c2 hole_c:true:f:false:if2_12 :: c:true:f:false:if hole_c3:c4:c53_12 :: c3:c4:c5 hole_c6:c7:c8:c9:c10:c114_12 :: c6:c7:c8:c9:c10:c11 gen_c:true:f:false:if5_12 :: Nat -> c:true:f:false:if gen_c6:c7:c8:c9:c10:c116_12 :: Nat -> c6:c7:c8:c9:c10:c11 ---------------------------------------- (13) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__F, A__IF, mark, MARK, a__f, a__if They will be analysed ascendingly in the following order: A__F = A__IF mark < A__F A__F = MARK A__IF = MARK mark < MARK mark = a__f mark = a__if a__f = a__if ---------------------------------------- (14) Obligation: Innermost TRS: Rules: 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 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 Types: A__F :: c:true:f:false:if -> c1:c2 c1 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c1:c2 A__IF :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c3:c4:c5 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 MARK :: c:true:f:false:if -> c6:c7:c8:c9:c10:c11 c2 :: c1:c2 c3 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 false :: c:true:f:false:if c4 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 c5 :: c3:c4:c5 c6 :: c1:c2 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if c7 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c8 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c9 :: c6:c7:c8:c9:c10:c11 c10 :: c6:c7:c8:c9:c10:c11 c11 :: c6:c7:c8:c9:c10:c11 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 hole_c1:c21_12 :: c1:c2 hole_c:true:f:false:if2_12 :: c:true:f:false:if hole_c3:c4:c53_12 :: c3:c4:c5 hole_c6:c7:c8:c9:c10:c114_12 :: c6:c7:c8:c9:c10:c11 gen_c:true:f:false:if5_12 :: Nat -> c:true:f:false:if gen_c6:c7:c8:c9:c10:c116_12 :: Nat -> c6:c7:c8:c9:c10:c11 Generator Equations: gen_c:true:f:false:if5_12(0) <=> c gen_c:true:f:false:if5_12(+(x, 1)) <=> f(gen_c:true:f:false:if5_12(x)) gen_c6:c7:c8:c9:c10:c116_12(0) <=> c9 gen_c6:c7:c8:c9:c10:c116_12(+(x, 1)) <=> c6(c1(c3(c9), c9), gen_c6:c7:c8:c9:c10:c116_12(x)) The following defined symbols remain to be analysed: a__f, A__F, A__IF, mark, MARK, a__if They will be analysed ascendingly in the following order: A__F = A__IF mark < A__F A__F = MARK A__IF = MARK mark < MARK mark = a__f mark = a__if a__f = a__if ---------------------------------------- (15) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: mark(gen_c:true:f:false:if5_12(+(1, n9997_12))) -> *7_12, rt in Omega(0) Induction Base: mark(gen_c:true:f:false:if5_12(+(1, 0))) Induction Step: mark(gen_c:true:f:false:if5_12(+(1, +(n9997_12, 1)))) ->_R^Omega(0) a__f(mark(gen_c:true:f:false:if5_12(+(1, n9997_12)))) ->_IH a__f(*7_12) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (16) Obligation: Innermost TRS: Rules: 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 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 Types: A__F :: c:true:f:false:if -> c1:c2 c1 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c1:c2 A__IF :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c3:c4:c5 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 MARK :: c:true:f:false:if -> c6:c7:c8:c9:c10:c11 c2 :: c1:c2 c3 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 false :: c:true:f:false:if c4 :: c6:c7:c8:c9:c10:c11 -> c3:c4:c5 c5 :: c3:c4:c5 c6 :: c1:c2 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if c7 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c8 :: c3:c4:c5 -> c6:c7:c8:c9:c10:c11 -> c6:c7:c8:c9:c10:c11 c9 :: c6:c7:c8:c9:c10:c11 c10 :: c6:c7:c8:c9:c10:c11 c11 :: c6:c7:c8:c9:c10:c11 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 hole_c1:c21_12 :: c1:c2 hole_c:true:f:false:if2_12 :: c:true:f:false:if hole_c3:c4:c53_12 :: c3:c4:c5 hole_c6:c7:c8:c9:c10:c114_12 :: c6:c7:c8:c9:c10:c11 gen_c:true:f:false:if5_12 :: Nat -> c:true:f:false:if gen_c6:c7:c8:c9:c10:c116_12 :: Nat -> c6:c7:c8:c9:c10:c11 Lemmas: mark(gen_c:true:f:false:if5_12(+(1, n9997_12))) -> *7_12, rt in Omega(0) Generator Equations: gen_c:true:f:false:if5_12(0) <=> c gen_c:true:f:false:if5_12(+(x, 1)) <=> f(gen_c:true:f:false:if5_12(x)) gen_c6:c7:c8:c9:c10:c116_12(0) <=> c9 gen_c6:c7:c8:c9:c10:c116_12(+(x, 1)) <=> c6(c1(c3(c9), c9), gen_c6:c7:c8:c9:c10:c116_12(x)) The following defined symbols remain to be analysed: a__f, A__F, A__IF, MARK, a__if They will be analysed ascendingly in the following order: A__F = A__IF mark < A__F A__F = MARK A__IF = MARK mark < MARK mark = a__f mark = a__if a__f = a__if ---------------------------------------- (17) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (18) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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 The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (19) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (20) 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 ---------------------------------------- (21) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing nodes: MARK(c) -> c9 MARK(false) -> c11 A__IF(z0, z1, z2) -> c5 A__F(z0) -> c2 MARK(true) -> c10 ---------------------------------------- (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__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 ---------------------------------------- (23) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (24) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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)) The (relative) TRS S consists of the following 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 Rewrite Strategy: INNERMOST ---------------------------------------- (25) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (26) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: 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)) 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 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (27) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (28) 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(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) [1] A__IF(true, z0, z1) -> c3(MARK(z0)) [1] A__IF(false, z0, z1) -> c4(MARK(z1)) [1] MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) [1] a__f(z0) -> a__if(mark(z0), c, f(true)) [0] a__f(z0) -> f(z0) [0] a__if(true, z0, z1) -> mark(z0) [0] a__if(false, z0, z1) -> mark(z1) [0] a__if(z0, z1, z2) -> if(z0, z1, z2) [0] mark(f(z0)) -> a__f(mark(z0)) [0] mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) [0] mark(c) -> c [0] mark(true) -> true [0] mark(false) -> false [0] Rewrite Strategy: INNERMOST ---------------------------------------- (29) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (30) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) [1] A__IF(true, z0, z1) -> c3(MARK(z0)) [1] A__IF(false, z0, z1) -> c4(MARK(z1)) [1] MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) [1] a__f(z0) -> a__if(mark(z0), c, f(true)) [0] a__f(z0) -> f(z0) [0] a__if(true, z0, z1) -> mark(z0) [0] a__if(false, z0, z1) -> mark(z1) [0] a__if(z0, z1, z2) -> if(z0, z1, z2) [0] mark(f(z0)) -> a__f(mark(z0)) [0] mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) [0] mark(c) -> c [0] mark(true) -> true [0] mark(false) -> false [0] The TRS has the following type information: A__F :: c:true:f:false:if -> c1 c1 :: c3:c4 -> c6:c7:c8 -> c1 A__IF :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c3:c4 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 MARK :: c:true:f:false:if -> c6:c7:c8 c3 :: c6:c7:c8 -> c3:c4 false :: c:true:f:false:if c4 :: c6:c7:c8 -> c3:c4 c6 :: c1 -> c6:c7:c8 -> c6:c7:c8 if :: c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if -> c:true:f:false:if c7 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 c8 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 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 Rewrite Strategy: INNERMOST ---------------------------------------- (31) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: a__f(v0) -> null_a__f [0] a__if(v0, v1, v2) -> null_a__if [0] mark(v0) -> null_mark [0] A__IF(v0, v1, v2) -> null_A__IF [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__f, null_a__if, null_mark, null_A__IF, null_MARK, const ---------------------------------------- (32) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__F(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) [1] A__IF(true, z0, z1) -> c3(MARK(z0)) [1] A__IF(false, z0, z1) -> c4(MARK(z1)) [1] MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) [1] a__f(z0) -> a__if(mark(z0), c, f(true)) [0] a__f(z0) -> f(z0) [0] a__if(true, z0, z1) -> mark(z0) [0] a__if(false, z0, z1) -> mark(z1) [0] a__if(z0, z1, z2) -> if(z0, z1, z2) [0] mark(f(z0)) -> a__f(mark(z0)) [0] mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) [0] mark(c) -> c [0] mark(true) -> true [0] mark(false) -> false [0] a__f(v0) -> null_a__f [0] a__if(v0, v1, v2) -> null_a__if [0] mark(v0) -> null_mark [0] A__IF(v0, v1, v2) -> null_A__IF [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__F :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c1 c1 :: c3:c4:null_A__IF -> c6:c7:c8:null_MARK -> c1 A__IF :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c3:c4:null_A__IF mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c :: c:true:f:false:if:null_a__f:null_a__if:null_mark f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark true :: c:true:f:false:if:null_a__f:null_a__if:null_mark MARK :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c6:c7:c8:null_MARK c3 :: c6:c7:c8:null_MARK -> c3:c4:null_A__IF false :: c:true:f:false:if:null_a__f:null_a__if:null_mark c4 :: c6:c7:c8:null_MARK -> c3:c4:null_A__IF c6 :: c1 -> c6:c7:c8:null_MARK -> c6:c7:c8:null_MARK if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c7 :: c3:c4:null_A__IF -> c6:c7:c8:null_MARK -> c6:c7:c8:null_MARK c8 :: c3:c4:null_A__IF -> c6:c7:c8:null_MARK -> c6:c7:c8:null_MARK a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_A__IF :: c3:c4:null_A__IF null_MARK :: c6:c7:c8:null_MARK const :: c1 Rewrite Strategy: INNERMOST ---------------------------------------- (33) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: c => 0 true => 2 false => 1 null_a__f => 0 null_a__if => 0 null_mark => 0 null_A__IF => 0 null_MARK => 0 const => 0 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: A__F(z) -{ 1 }-> 1 + A__IF(mark(z0), 0, 1 + 2) + MARK(z0) :|: z = z0, z0 >= 0 A__IF(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 MARK(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z1) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__F(mark(z0)) + MARK(z0) :|: z = 1 + z0, z0 >= 0 a__f(z) -{ 0 }-> a__if(mark(z0), 0, 1 + 2) :|: z = z0, z0 >= 0 a__f(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__f(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__if(z, z', z'') -{ 0 }-> mark(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__if(z, z', z'') -{ 0 }-> mark(z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 a__if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__if(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__if(mark(z0), mark(z1), z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__f(mark(z0)) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (35) 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: A__F_1 A__IF_3 MARK_1 (c) The following functions are completely defined: a__f_1 a__if_3 mark_1 Due to the following rules being added: a__f(v0) -> null_a__f [0] a__if(v0, v1, v2) -> null_a__if [0] mark(v0) -> null_mark [0] And the following fresh constants: null_a__f, null_a__if, null_mark, const, const1, const2 ---------------------------------------- (36) 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(z0) -> c1(A__IF(mark(z0), c, f(true)), MARK(z0)) [1] A__IF(true, z0, z1) -> c3(MARK(z0)) [1] A__IF(false, z0, z1) -> c4(MARK(z1)) [1] MARK(f(z0)) -> c6(A__F(mark(z0)), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) [1] a__f(z0) -> a__if(mark(z0), c, f(true)) [0] a__f(z0) -> f(z0) [0] a__if(true, z0, z1) -> mark(z0) [0] a__if(false, z0, z1) -> mark(z1) [0] a__if(z0, z1, z2) -> if(z0, z1, z2) [0] mark(f(z0)) -> a__f(mark(z0)) [0] mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) [0] mark(c) -> c [0] mark(true) -> true [0] mark(false) -> false [0] a__f(v0) -> null_a__f [0] a__if(v0, v1, v2) -> null_a__if [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__F :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c1 c1 :: c3:c4 -> c6:c7:c8 -> c1 A__IF :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c3:c4 mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c :: c:true:f:false:if:null_a__f:null_a__if:null_mark f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark true :: c:true:f:false:if:null_a__f:null_a__if:null_mark MARK :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c6:c7:c8 c3 :: c6:c7:c8 -> c3:c4 false :: c:true:f:false:if:null_a__f:null_a__if:null_mark c4 :: c6:c7:c8 -> c3:c4 c6 :: c1 -> c6:c7:c8 -> c6:c7:c8 if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c7 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 c8 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark const :: c1 const1 :: c3:c4 const2 :: c6:c7:c8 Rewrite Strategy: INNERMOST ---------------------------------------- (37) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (38) 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(z0')) -> c1(A__IF(a__f(mark(z0')), c, f(true)), MARK(f(z0'))) [1] A__F(if(z0'', z1', z2')) -> c1(A__IF(a__if(mark(z0''), mark(z1'), z2'), c, f(true)), MARK(if(z0'', z1', z2'))) [1] A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) [1] A__F(true) -> c1(A__IF(true, c, f(true)), MARK(true)) [1] A__F(false) -> c1(A__IF(false, c, f(true)), MARK(false)) [1] A__F(z0) -> c1(A__IF(null_mark, c, f(true)), MARK(z0)) [1] A__IF(true, z0, z1) -> c3(MARK(z0)) [1] A__IF(false, z0, z1) -> c4(MARK(z1)) [1] MARK(f(f(z01))) -> c6(A__F(a__f(mark(z01))), MARK(f(z01))) [1] MARK(f(if(z02, z1'', z2''))) -> c6(A__F(a__if(mark(z02), mark(z1''), z2'')), MARK(if(z02, z1'', z2''))) [1] MARK(f(c)) -> c6(A__F(c), MARK(c)) [1] MARK(f(true)) -> c6(A__F(true), MARK(true)) [1] MARK(f(false)) -> c6(A__F(false), MARK(false)) [1] MARK(f(z0)) -> c6(A__F(null_mark), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c7(A__IF(mark(z0), mark(z1), z2), MARK(z0)) [1] MARK(if(z0, z1, z2)) -> c8(A__IF(mark(z0), mark(z1), z2), MARK(z1)) [1] a__f(f(z031)) -> a__if(a__f(mark(z031)), c, f(true)) [0] a__f(if(z032, z115, z215)) -> a__if(a__if(mark(z032), mark(z115), z215), c, f(true)) [0] a__f(c) -> a__if(c, c, f(true)) [0] a__f(true) -> a__if(true, c, f(true)) [0] a__f(false) -> a__if(false, c, f(true)) [0] a__f(z0) -> a__if(null_mark, c, f(true)) [0] a__f(z0) -> f(z0) [0] a__if(true, z0, z1) -> mark(z0) [0] a__if(false, z0, z1) -> mark(z1) [0] a__if(z0, z1, z2) -> if(z0, z1, z2) [0] mark(f(f(z033))) -> a__f(a__f(mark(z033))) [0] mark(f(if(z034, z116, z216))) -> a__f(a__if(mark(z034), mark(z116), z216)) [0] mark(f(c)) -> a__f(c) [0] mark(f(true)) -> a__f(true) [0] mark(f(false)) -> a__f(false) [0] mark(f(z0)) -> a__f(null_mark) [0] mark(if(z0, z1, z2)) -> a__if(mark(z0), mark(z1), z2) [0] mark(c) -> c [0] mark(true) -> true [0] mark(false) -> false [0] a__f(v0) -> null_a__f [0] a__if(v0, v1, v2) -> null_a__if [0] mark(v0) -> null_mark [0] The TRS has the following type information: A__F :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c1 c1 :: c3:c4 -> c6:c7:c8 -> c1 A__IF :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c3:c4 mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c :: c:true:f:false:if:null_a__f:null_a__if:null_mark f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark true :: c:true:f:false:if:null_a__f:null_a__if:null_mark MARK :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c6:c7:c8 c3 :: c6:c7:c8 -> c3:c4 false :: c:true:f:false:if:null_a__f:null_a__if:null_mark c4 :: c6:c7:c8 -> c3:c4 c6 :: c1 -> c6:c7:c8 -> c6:c7:c8 if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark c7 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 c8 :: c3:c4 -> c6:c7:c8 -> c6:c7:c8 a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark -> c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__f :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_a__if :: c:true:f:false:if:null_a__f:null_a__if:null_mark null_mark :: c:true:f:false:if:null_a__f:null_a__if:null_mark const :: c1 const1 :: c3:c4 const2 :: c6:c7:c8 Rewrite Strategy: INNERMOST ---------------------------------------- (39) 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 null_a__f => 0 null_a__if => 0 null_mark => 0 const => 0 const1 => 0 const2 => 0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: A__F(z) -{ 1 }-> 1 + A__IF(a__if(mark(z0''), mark(z1'), z2'), 0, 1 + 2) + MARK(1 + z0'' + z1' + z2') :|: z = 1 + z0'' + z1' + z2', z1' >= 0, z2' >= 0, z0'' >= 0 A__F(z) -{ 1 }-> 1 + A__IF(a__f(mark(z0')), 0, 1 + 2) + MARK(1 + z0') :|: z0' >= 0, z = 1 + z0' A__F(z) -{ 1 }-> 1 + A__IF(2, 0, 1 + 2) + MARK(2) :|: z = 2 A__F(z) -{ 1 }-> 1 + A__IF(1, 0, 1 + 2) + MARK(1) :|: z = 1 A__F(z) -{ 1 }-> 1 + A__IF(0, 0, 1 + 2) + MARK(z0) :|: z = z0, z0 >= 0 A__F(z) -{ 1 }-> 1 + A__IF(0, 0, 1 + 2) + MARK(0) :|: z = 0 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z1) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__if(mark(z02), mark(z1''), z2'')) + MARK(1 + z02 + z1'' + z2'') :|: z = 1 + (1 + z02 + z1'' + z2''), z02 >= 0, z2'' >= 0, z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__f(mark(z01))) + MARK(1 + z01) :|: z = 1 + (1 + z01), z01 >= 0 MARK(z) -{ 1 }-> 1 + A__F(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__F(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__F(0) + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__F(0) + MARK(0) :|: z = 1 + 0 a__f(z) -{ 0 }-> a__if(a__if(mark(z032), mark(z115), z215), 0, 1 + 2) :|: z = 1 + z032 + z115 + z215, z032 >= 0, z115 >= 0, z215 >= 0 a__f(z) -{ 0 }-> a__if(a__f(mark(z031)), 0, 1 + 2) :|: z031 >= 0, z = 1 + z031 a__f(z) -{ 0 }-> a__if(2, 0, 1 + 2) :|: z = 2 a__f(z) -{ 0 }-> a__if(1, 0, 1 + 2) :|: z = 1 a__f(z) -{ 0 }-> a__if(0, 0, 1 + 2) :|: z = 0 a__f(z) -{ 0 }-> a__if(0, 0, 1 + 2) :|: z = z0, z0 >= 0 a__f(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 a__f(z) -{ 0 }-> 1 + z0 :|: z = z0, z0 >= 0 a__if(z, z', z'') -{ 0 }-> mark(z0) :|: z = 2, z1 >= 0, z0 >= 0, z' = z0, z'' = z1 a__if(z, z', z'') -{ 0 }-> mark(z1) :|: z1 >= 0, z = 1, z0 >= 0, z' = z0, z'' = z1 a__if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 a__if(z, z', z'') -{ 0 }-> 1 + z0 + z1 + z2 :|: z'' = z2, z = z0, z1 >= 0, z' = z1, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__if(mark(z0), mark(z1), z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__f(a__if(mark(z034), mark(z116), z216)) :|: z = 1 + (1 + z034 + z116 + z216), z216 >= 0, z034 >= 0, z116 >= 0 mark(z) -{ 0 }-> a__f(a__f(mark(z033))) :|: z033 >= 0, z = 1 + (1 + z033) mark(z) -{ 0 }-> a__f(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__f(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__f(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__f(0) :|: z = 1 + z0, z0 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (41) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: A__F(z) -{ 1 }-> 1 + A__IF(a__if(mark(z0''), mark(z1'), z2'), 0, 1 + 2) + MARK(1 + z0'' + z1' + z2') :|: z = 1 + z0'' + z1' + z2', z1' >= 0, z2' >= 0, z0'' >= 0 A__F(z) -{ 1 }-> 1 + A__IF(a__f(mark(z - 1)), 0, 1 + 2) + MARK(1 + (z - 1)) :|: z - 1 >= 0 A__F(z) -{ 1 }-> 1 + A__IF(2, 0, 1 + 2) + MARK(2) :|: z = 2 A__F(z) -{ 1 }-> 1 + A__IF(1, 0, 1 + 2) + MARK(1) :|: z = 1 A__F(z) -{ 1 }-> 1 + A__IF(0, 0, 1 + 2) + MARK(z) :|: z >= 0 A__F(z) -{ 1 }-> 1 + A__IF(0, 0, 1 + 2) + MARK(0) :|: z = 0 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z') :|: z = 2, z'' >= 0, z' >= 0 A__IF(z, z', z'') -{ 1 }-> 1 + MARK(z'') :|: z'' >= 0, z = 1, z' >= 0 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z0) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__IF(mark(z0), mark(z1), z2) + MARK(z1) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__if(mark(z02), mark(z1''), z2'')) + MARK(1 + z02 + z1'' + z2'') :|: z = 1 + (1 + z02 + z1'' + z2''), z02 >= 0, z2'' >= 0, z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__f(mark(z - 2))) + MARK(1 + (z - 2)) :|: z - 2 >= 0 MARK(z) -{ 1 }-> 1 + A__F(2) + MARK(2) :|: z = 1 + 2 MARK(z) -{ 1 }-> 1 + A__F(1) + MARK(1) :|: z = 1 + 1 MARK(z) -{ 1 }-> 1 + A__F(0) + MARK(0) :|: z = 1 + 0 MARK(z) -{ 1 }-> 1 + A__F(0) + MARK(z - 1) :|: z - 1 >= 0 a__f(z) -{ 0 }-> a__if(a__if(mark(z032), mark(z115), z215), 0, 1 + 2) :|: z = 1 + z032 + z115 + z215, z032 >= 0, z115 >= 0, z215 >= 0 a__f(z) -{ 0 }-> a__if(a__f(mark(z - 1)), 0, 1 + 2) :|: z - 1 >= 0 a__f(z) -{ 0 }-> a__if(2, 0, 1 + 2) :|: z = 2 a__f(z) -{ 0 }-> a__if(1, 0, 1 + 2) :|: z = 1 a__f(z) -{ 0 }-> a__if(0, 0, 1 + 2) :|: z = 0 a__f(z) -{ 0 }-> a__if(0, 0, 1 + 2) :|: z >= 0 a__f(z) -{ 0 }-> 0 :|: z >= 0 a__f(z) -{ 0 }-> 1 + z :|: z >= 0 a__if(z, z', z'') -{ 0 }-> mark(z') :|: z = 2, z'' >= 0, z' >= 0 a__if(z, z', z'') -{ 0 }-> mark(z'') :|: z'' >= 0, z = 1, z' >= 0 a__if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 a__if(z, z', z'') -{ 0 }-> 1 + z + z' + z'' :|: z' >= 0, z >= 0, z'' >= 0 mark(z) -{ 0 }-> a__if(mark(z0), mark(z1), z2) :|: z1 >= 0, z = 1 + z0 + z1 + z2, z0 >= 0, z2 >= 0 mark(z) -{ 0 }-> a__f(a__if(mark(z034), mark(z116), z216)) :|: z = 1 + (1 + z034 + z116 + z216), z216 >= 0, z034 >= 0, z116 >= 0 mark(z) -{ 0 }-> a__f(a__f(mark(z - 2))) :|: z - 2 >= 0 mark(z) -{ 0 }-> a__f(2) :|: z = 1 + 2 mark(z) -{ 0 }-> a__f(1) :|: z = 1 + 1 mark(z) -{ 0 }-> a__f(0) :|: z = 1 + 0 mark(z) -{ 0 }-> a__f(0) :|: z - 1 >= 0 mark(z) -{ 0 }-> 2 :|: z = 2 mark(z) -{ 0 }-> 1 :|: z = 1 mark(z) -{ 0 }-> 0 :|: z = 0 mark(z) -{ 0 }-> 0 :|: z >= 0 ---------------------------------------- (43) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (45) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__F(c) -> c1(A__IF(c, c, f(true)), MARK(c)) ---------------------------------------- (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)) 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 ---------------------------------------- (47) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (49) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (51) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(f(c)) -> c6(A__F(c), MARK(c)) ---------------------------------------- (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)) 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 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 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)) 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 ---------------------------------------- (55) 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)) ---------------------------------------- (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)) 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 ---------------------------------------- (57) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, x1, x2)) -> c7(A__IF(c, mark(x1), x2), MARK(c)) ---------------------------------------- (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)) 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 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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)) 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 ---------------------------------------- (61) 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)) ---------------------------------------- (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(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 ---------------------------------------- (63) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (65) 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))) ---------------------------------------- (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(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 ---------------------------------------- (67) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (69) 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))) ---------------------------------------- (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(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 ---------------------------------------- (71) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 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(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 ---------------------------------------- (73) 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))) ---------------------------------------- (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(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 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (77) 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))) ---------------------------------------- (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, 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 ---------------------------------------- (79) 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)) ---------------------------------------- (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, 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 ---------------------------------------- (81) 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)) ---------------------------------------- (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, 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 ---------------------------------------- (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, 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 ---------------------------------------- (85) 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)) ---------------------------------------- (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(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 ---------------------------------------- (87) 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)) ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (91) 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)) ---------------------------------------- (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(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 ---------------------------------------- (93) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, c, x1)) -> c7(A__IF(c, c, x1), MARK(c)) ---------------------------------------- (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(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 ---------------------------------------- (95) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (97) 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)) ---------------------------------------- (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(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 ---------------------------------------- (99) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, true, x1)) -> c7(A__IF(c, true, x1), MARK(c)) ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (103) 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)) ---------------------------------------- (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(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 ---------------------------------------- (105) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, false, x1)) -> c7(A__IF(c, false, x1), MARK(c)) ---------------------------------------- (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(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 ---------------------------------------- (107) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (109) 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))) ---------------------------------------- (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(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 ---------------------------------------- (111) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (113) 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))) ---------------------------------------- (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(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 ---------------------------------------- (115) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (117) 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))) ---------------------------------------- (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(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 ---------------------------------------- (119) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (121) 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))) ---------------------------------------- (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(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 ---------------------------------------- (123) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (125) 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)) ---------------------------------------- (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(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 ---------------------------------------- (127) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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(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 ---------------------------------------- (129) 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)) ---------------------------------------- (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(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 ---------------------------------------- (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(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 ---------------------------------------- (133) 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)) ---------------------------------------- (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(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 ---------------------------------------- (135) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, c, x1)) -> c8(A__IF(c, 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(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 ---------------------------------------- (137) 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)) ---------------------------------------- (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(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 ---------------------------------------- (139) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, true, x1)) -> c8(A__IF(c, true, x1)) ---------------------------------------- (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(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 ---------------------------------------- (141) 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)) ---------------------------------------- (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__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 ---------------------------------------- (143) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: MARK(if(c, false, x1)) -> c8(A__IF(c, false, x1)) ---------------------------------------- (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: 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 ---------------------------------------- (145) 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))) ---------------------------------------- (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: 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 ---------------------------------------- (147) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 9 trailing nodes: A__IF(true, f(true), z1) -> c3(MARK(f(true))) MARK(f(true)) -> c6(A__F(true)) 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, c, x1)) -> c7(A__IF(true, c, x1)) A__F(true) -> c1(A__IF(true, c, f(true))) MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1)) MARK(if(true, true, x1)) -> c7(A__IF(true, true, x1)) ---------------------------------------- (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: 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 ---------------------------------------- (149) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (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: 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 ---------------------------------------- (151) 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)) ---------------------------------------- (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: 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 ---------------------------------------- (153) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: 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)) ---------------------------------------- (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: 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 ---------------------------------------- (155) 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)) ---------------------------------------- (156) 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 ---------------------------------------- (157) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 6 trailing nodes: MARK(if(true, false, x1)) -> c8(A__IF(true, false, x1), MARK(false)) A__IF(true, if(true, c, y0), z1) -> c3(MARK(if(true, c, y0))) MARK(if(true, true, x1)) -> c8(A__IF(true, true, x1), MARK(true)) MARK(if(true, c, x1)) -> c8(A__IF(true, c, x1), MARK(c)) A__IF(true, if(true, true, y0), z1) -> c3(MARK(if(true, true, y0))) A__IF(true, if(true, false, y0), z1) -> c3(MARK(if(true, false, y0))) ---------------------------------------- (158) 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 ---------------------------------------- (159) 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)))) ---------------------------------------- (160) 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 ---------------------------------------- (161) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing nodes: A__IF(false, z0, f(false)) -> c4(MARK(f(false))) A__F(f(false)) -> c1(A__IF(a__f(false), c, f(true)), MARK(f(false))) A__F(f(true)) -> c1(A__IF(a__f(true), c, f(true))) MARK(f(false)) -> c6(A__F(false)) A__IF(true, f(false), z1) -> c3(MARK(f(false))) A__F(f(c)) -> c1(A__IF(a__f(c), c, f(true))) A__F(false) -> c1(A__IF(false, c, f(true))) ---------------------------------------- (162) 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 ---------------------------------------- (163) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 16 trailing tuple parts ---------------------------------------- (164) 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 ---------------------------------------- (165) 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)))) ---------------------------------------- (166) 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 ---------------------------------------- (167) 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)))) ---------------------------------------- (168) 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 ---------------------------------------- (169) 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))) ---------------------------------------- (170) 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 ---------------------------------------- (171) 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)))) ---------------------------------------- (172) 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 ---------------------------------------- (173) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (174) 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 ---------------------------------------- (175) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (176) 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 ---------------------------------------- (177) 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 ---------------------------------------- (178) 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 ---------------------------------------- (179) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (180) 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 ---------------------------------------- (181) 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 ---------------------------------------- (182) 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 ---------------------------------------- (183) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (184) 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 ---------------------------------------- (185) 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 ---------------------------------------- (186) 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 ---------------------------------------- (187) 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 ---------------------------------------- (188) 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.