KILLED proof of input_zo2HLKl2wt.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (4) CdtProblem (5) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxRelTRS (7) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (10) typed CpxTrs (11) OrderProof [LOWER BOUND(ID), 0 ms] (12) typed CpxTrs (13) RewriteLemmaProof [LOWER BOUND(ID), 485 ms] (14) typed CpxTrs (15) RewriteLemmaProof [LOWER BOUND(ID), 163 ms] (16) BEST (17) proven lower bound (18) LowerBoundPropagationProof [FINISHED, 0 ms] (19) BOUNDS(n^1, INF) (20) typed CpxTrs (21) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (22) CpxTRS (23) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (24) CdtProblem (25) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (26) CdtProblem (27) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CpxRelTRS (29) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (30) CpxTRS (31) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CpxWeightedTrs (33) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (34) CpxTypedWeightedTrs (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), 0 ms] (42) CpxRNTS (43) CompletionProof [UPPER BOUND(ID), 0 ms] (44) CpxTypedWeightedCompleteTrs (45) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (50) CdtProblem (51) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (54) CdtProblem (55) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (56) CdtProblem (57) CdtNarrowingProof [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) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (66) CdtProblem (67) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 4 ms] (68) CdtProblem (69) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (70) CdtProblem (71) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (72) CdtProblem (73) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (74) CdtProblem (75) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (78) CdtProblem (79) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (82) CdtProblem (83) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (86) CdtProblem (87) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 5 ms] (88) CdtProblem (89) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (90) CdtProblem (91) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (94) CdtProblem (95) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (96) CdtProblem (97) CdtForwardInstantiationProof [BOTH BOUNDS(ID, ID), 0 ms] (98) CdtProblem (99) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (100) CpxWeightedTrs (101) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (102) CpxTypedWeightedTrs (103) CompletionProof [UPPER BOUND(ID), 0 ms] (104) CpxTypedWeightedCompleteTrs (105) NarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (106) CpxTypedWeightedCompleteTrs (107) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (108) CpxRNTS (109) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (110) CpxRNTS (111) CompletionProof [UPPER BOUND(ID), 0 ms] (112) CpxTypedWeightedCompleteTrs (113) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (114) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) mark(f(X1, X2)) -> a__f(mark(X1), X2) mark(g(X)) -> g(mark(X)) a__f(X1, X2) -> f(X1, X2) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) mark(f(X1, X2)) -> a__f(mark(X1), X2) mark(g(X)) -> g(mark(X)) a__f(X1, X2) -> f(X1, X2) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (4) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) S tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c1, c2_2, c3_1 ---------------------------------------- (5) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) The (relative) TRS S consists of the following rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Rewrite Strategy: INNERMOST ---------------------------------------- (7) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) The (relative) TRS S consists of the following rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Rewrite Strategy: INNERMOST ---------------------------------------- (9) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (10) Obligation: Innermost TRS: Rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Types: A__F :: g:f -> g:f -> c:c1 g :: g:f -> g:f c :: c:c1 -> c2:c3 -> c:c1 mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c1 :: c:c1 c2 :: c:c1 -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f hole_c:c11_4 :: c:c1 hole_g:f2_4 :: g:f hole_c2:c33_4 :: c2:c3 gen_c:c14_4 :: Nat -> c:c1 gen_g:f5_4 :: Nat -> g:f gen_c2:c36_4 :: Nat -> c2:c3 ---------------------------------------- (11) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: A__F, mark, MARK, a__f They will be analysed ascendingly in the following order: mark < A__F A__F = MARK mark < MARK mark = a__f ---------------------------------------- (12) Obligation: Innermost TRS: Rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Types: A__F :: g:f -> g:f -> c:c1 g :: g:f -> g:f c :: c:c1 -> c2:c3 -> c:c1 mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c1 :: c:c1 c2 :: c:c1 -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f hole_c:c11_4 :: c:c1 hole_g:f2_4 :: g:f hole_c2:c33_4 :: c2:c3 gen_c:c14_4 :: Nat -> c:c1 gen_g:f5_4 :: Nat -> g:f gen_c2:c36_4 :: Nat -> c2:c3 Generator Equations: gen_c:c14_4(0) <=> c1 gen_c:c14_4(+(x, 1)) <=> c(gen_c:c14_4(x), hole_c2:c33_4) gen_g:f5_4(0) <=> hole_g:f2_4 gen_g:f5_4(+(x, 1)) <=> g(gen_g:f5_4(x)) gen_c2:c36_4(0) <=> hole_c2:c33_4 gen_c2:c36_4(+(x, 1)) <=> c2(c1, gen_c2:c36_4(x)) The following defined symbols remain to be analysed: a__f, A__F, mark, MARK They will be analysed ascendingly in the following order: mark < A__F A__F = MARK mark < MARK mark = a__f ---------------------------------------- (13) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: mark(gen_g:f5_4(+(1, n435_4))) -> *7_4, rt in Omega(0) Induction Base: mark(gen_g:f5_4(+(1, 0))) Induction Step: mark(gen_g:f5_4(+(1, +(n435_4, 1)))) ->_R^Omega(0) g(mark(gen_g:f5_4(+(1, n435_4)))) ->_IH g(*7_4) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (14) Obligation: Innermost TRS: Rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Types: A__F :: g:f -> g:f -> c:c1 g :: g:f -> g:f c :: c:c1 -> c2:c3 -> c:c1 mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c1 :: c:c1 c2 :: c:c1 -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f hole_c:c11_4 :: c:c1 hole_g:f2_4 :: g:f hole_c2:c33_4 :: c2:c3 gen_c:c14_4 :: Nat -> c:c1 gen_g:f5_4 :: Nat -> g:f gen_c2:c36_4 :: Nat -> c2:c3 Lemmas: mark(gen_g:f5_4(+(1, n435_4))) -> *7_4, rt in Omega(0) Generator Equations: gen_c:c14_4(0) <=> c1 gen_c:c14_4(+(x, 1)) <=> c(gen_c:c14_4(x), hole_c2:c33_4) gen_g:f5_4(0) <=> hole_g:f2_4 gen_g:f5_4(+(x, 1)) <=> g(gen_g:f5_4(x)) gen_c2:c36_4(0) <=> hole_c2:c33_4 gen_c2:c36_4(+(x, 1)) <=> c2(c1, gen_c2:c36_4(x)) The following defined symbols remain to be analysed: a__f, A__F, MARK They will be analysed ascendingly in the following order: mark < A__F A__F = MARK mark < MARK mark = a__f ---------------------------------------- (15) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: MARK(gen_g:f5_4(+(1, n1336_4))) -> *7_4, rt in Omega(n1336_4) Induction Base: MARK(gen_g:f5_4(+(1, 0))) Induction Step: MARK(gen_g:f5_4(+(1, +(n1336_4, 1)))) ->_R^Omega(1) c3(MARK(gen_g:f5_4(+(1, n1336_4)))) ->_IH c3(*7_4) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (16) Complex Obligation (BEST) ---------------------------------------- (17) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Types: A__F :: g:f -> g:f -> c:c1 g :: g:f -> g:f c :: c:c1 -> c2:c3 -> c:c1 mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c1 :: c:c1 c2 :: c:c1 -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f hole_c:c11_4 :: c:c1 hole_g:f2_4 :: g:f hole_c2:c33_4 :: c2:c3 gen_c:c14_4 :: Nat -> c:c1 gen_g:f5_4 :: Nat -> g:f gen_c2:c36_4 :: Nat -> c2:c3 Lemmas: mark(gen_g:f5_4(+(1, n435_4))) -> *7_4, rt in Omega(0) Generator Equations: gen_c:c14_4(0) <=> c1 gen_c:c14_4(+(x, 1)) <=> c(gen_c:c14_4(x), hole_c2:c33_4) gen_g:f5_4(0) <=> hole_g:f2_4 gen_g:f5_4(+(x, 1)) <=> g(gen_g:f5_4(x)) gen_c2:c36_4(0) <=> hole_c2:c33_4 gen_c2:c36_4(+(x, 1)) <=> c2(c1, gen_c2:c36_4(x)) The following defined symbols remain to be analysed: MARK, A__F They will be analysed ascendingly in the following order: A__F = MARK ---------------------------------------- (18) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (19) BOUNDS(n^1, INF) ---------------------------------------- (20) Obligation: Innermost TRS: Rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Types: A__F :: g:f -> g:f -> c:c1 g :: g:f -> g:f c :: c:c1 -> c2:c3 -> c:c1 mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c1 :: c:c1 c2 :: c:c1 -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f hole_c:c11_4 :: c:c1 hole_g:f2_4 :: g:f hole_c2:c33_4 :: c2:c3 gen_c:c14_4 :: Nat -> c:c1 gen_g:f5_4 :: Nat -> g:f gen_c2:c36_4 :: Nat -> c2:c3 Lemmas: mark(gen_g:f5_4(+(1, n435_4))) -> *7_4, rt in Omega(0) MARK(gen_g:f5_4(+(1, n1336_4))) -> *7_4, rt in Omega(n1336_4) Generator Equations: gen_c:c14_4(0) <=> c1 gen_c:c14_4(+(x, 1)) <=> c(gen_c:c14_4(x), hole_c2:c33_4) gen_g:f5_4(0) <=> hole_g:f2_4 gen_g:f5_4(+(x, 1)) <=> g(gen_g:f5_4(x)) gen_c2:c36_4(0) <=> hole_c2:c33_4 gen_c2:c36_4(+(x, 1)) <=> c2(c1, gen_c2:c36_4(x)) The following defined symbols remain to be analysed: A__F They will be analysed ascendingly in the following order: A__F = MARK ---------------------------------------- (21) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (22) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) mark(f(X1, X2)) -> a__f(mark(X1), X2) mark(g(X)) -> g(mark(X)) a__f(X1, X2) -> f(X1, X2) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (23) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) S tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) A__F(z0, z1) -> c1 MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c1, c2_2, c3_1 ---------------------------------------- (25) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: A__F(z0, z1) -> c1 ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) S tuples: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1 ---------------------------------------- (27) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (28) 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(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) The (relative) TRS S consists of the following rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Rewrite Strategy: INNERMOST ---------------------------------------- (29) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (30) 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(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (31) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (32) 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(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) [1] MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) [1] MARK(g(z0)) -> c3(MARK(z0)) [1] a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) [0] a__f(z0, z1) -> f(z0, z1) [0] mark(f(z0, z1)) -> a__f(mark(z0), z1) [0] mark(g(z0)) -> g(mark(z0)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (33) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (34) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) [1] MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) [1] MARK(g(z0)) -> c3(MARK(z0)) [1] a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) [0] a__f(z0, z1) -> f(z0, z1) [0] mark(f(z0, z1)) -> a__f(mark(z0), z1) [0] mark(g(z0)) -> g(mark(z0)) [0] The TRS has the following type information: A__F :: g:f -> g:f -> c g :: g:f -> g:f c :: c -> c2:c3 -> c mark :: g:f -> g:f f :: g:f -> g:f -> g:f MARK :: g:f -> c2:c3 c2 :: c -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f -> g:f -> g:f Rewrite Strategy: INNERMOST ---------------------------------------- (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_2 MARK_1 (c) The following functions are completely defined: a__f_2 mark_1 Due to the following rules being added: a__f(v0, v1) -> const1 [0] mark(v0) -> const1 [0] And the following fresh constants: const1, const, 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(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) [1] MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) [1] MARK(g(z0)) -> c3(MARK(z0)) [1] a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) [0] a__f(z0, z1) -> f(z0, z1) [0] mark(f(z0, z1)) -> a__f(mark(z0), z1) [0] mark(g(z0)) -> g(mark(z0)) [0] a__f(v0, v1) -> const1 [0] mark(v0) -> const1 [0] The TRS has the following type information: A__F :: g:f:const1 -> g:f:const1 -> c g :: g:f:const1 -> g:f:const1 c :: c -> c2:c3 -> c mark :: g:f:const1 -> g:f:const1 f :: g:f:const1 -> g:f:const1 -> g:f:const1 MARK :: g:f:const1 -> c2:c3 c2 :: c -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f:const1 -> g:f:const1 -> g:f:const1 const1 :: g:f:const1 const :: c const2 :: c2:c3 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(g(f(z0', z1')), z1) -> c(A__F(a__f(mark(z0'), z1'), f(g(f(z0', z1')), z1)), MARK(f(z0', z1'))) [1] A__F(g(g(z0'')), z1) -> c(A__F(g(mark(z0'')), f(g(g(z0'')), z1)), MARK(g(z0''))) [1] A__F(g(z0), z1) -> c(A__F(const1, f(g(z0), z1)), MARK(z0)) [1] MARK(f(f(z01, z1''), z1)) -> c2(A__F(a__f(mark(z01), z1''), z1), MARK(f(z01, z1''))) [1] MARK(f(g(z02), z1)) -> c2(A__F(g(mark(z02)), z1), MARK(g(z02))) [1] MARK(f(z0, z1)) -> c2(A__F(const1, z1), MARK(z0)) [1] MARK(g(z0)) -> c3(MARK(z0)) [1] a__f(g(f(z03, z11)), z1) -> a__f(a__f(mark(z03), z11), f(g(f(z03, z11)), z1)) [0] a__f(g(g(z04)), z1) -> a__f(g(mark(z04)), f(g(g(z04)), z1)) [0] a__f(g(z0), z1) -> a__f(const1, f(g(z0), z1)) [0] a__f(z0, z1) -> f(z0, z1) [0] mark(f(f(z05, z12), z1)) -> a__f(a__f(mark(z05), z12), z1) [0] mark(f(g(z06), z1)) -> a__f(g(mark(z06)), z1) [0] mark(f(z0, z1)) -> a__f(const1, z1) [0] mark(g(z0)) -> g(mark(z0)) [0] a__f(v0, v1) -> const1 [0] mark(v0) -> const1 [0] The TRS has the following type information: A__F :: g:f:const1 -> g:f:const1 -> c g :: g:f:const1 -> g:f:const1 c :: c -> c2:c3 -> c mark :: g:f:const1 -> g:f:const1 f :: g:f:const1 -> g:f:const1 -> g:f:const1 MARK :: g:f:const1 -> c2:c3 c2 :: c -> c2:c3 -> c2:c3 c3 :: c2:c3 -> c2:c3 a__f :: g:f:const1 -> g:f:const1 -> g:f:const1 const1 :: g:f:const1 const :: c const2 :: c2:c3 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: const1 => 0 const => 0 const2 => 0 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: A__F(z, z') -{ 1 }-> 1 + A__F(a__f(mark(z0'), z1'), 1 + (1 + (1 + z0' + z1')) + z1) + MARK(1 + z0' + z1') :|: z1 >= 0, z0' >= 0, z1' >= 0, z' = z1, z = 1 + (1 + z0' + z1') A__F(z, z') -{ 1 }-> 1 + A__F(0, 1 + (1 + z0) + z1) + MARK(z0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 A__F(z, z') -{ 1 }-> 1 + A__F(1 + mark(z0''), 1 + (1 + (1 + z0'')) + z1) + MARK(1 + z0'') :|: z1 >= 0, z = 1 + (1 + z0''), z' = z1, z0'' >= 0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__f(mark(z01), z1''), z1) + MARK(1 + z01 + z1'') :|: z = 1 + (1 + z01 + z1'') + z1, z1 >= 0, z01 >= 0, z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__F(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__F(1 + mark(z02), z1) + MARK(1 + z02) :|: z1 >= 0, z = 1 + (1 + z02) + z1, z02 >= 0 a__f(z, z') -{ 0 }-> a__f(a__f(mark(z03), z11), 1 + (1 + (1 + z03 + z11)) + z1) :|: z11 >= 0, z1 >= 0, z' = z1, z03 >= 0, z = 1 + (1 + z03 + z11) a__f(z, z') -{ 0 }-> a__f(0, 1 + (1 + z0) + z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 a__f(z, z') -{ 0 }-> a__f(1 + mark(z04), 1 + (1 + (1 + z04)) + z1) :|: z04 >= 0, z1 >= 0, z = 1 + (1 + z04), z' = z1 a__f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__f(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 mark(z) -{ 0 }-> a__f(a__f(mark(z05), z12), z1) :|: z = 1 + (1 + z05 + z12) + z1, z1 >= 0, z12 >= 0, z05 >= 0 mark(z) -{ 0 }-> a__f(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__f(1 + mark(z06), z1) :|: z1 >= 0, z = 1 + (1 + z06) + z1, z06 >= 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 ---------------------------------------- (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, z') -{ 1 }-> 1 + A__F(a__f(mark(z0'), z1'), 1 + (1 + (1 + z0' + z1')) + z') + MARK(1 + z0' + z1') :|: z' >= 0, z0' >= 0, z1' >= 0, z = 1 + (1 + z0' + z1') A__F(z, z') -{ 1 }-> 1 + A__F(0, 1 + (1 + (z - 1)) + z') + MARK(z - 1) :|: z' >= 0, z - 1 >= 0 A__F(z, z') -{ 1 }-> 1 + A__F(1 + mark(z - 2), 1 + (1 + (1 + (z - 2))) + z') + MARK(1 + (z - 2)) :|: z' >= 0, z - 2 >= 0 MARK(z) -{ 1 }-> 1 + MARK(z - 1) :|: z - 1 >= 0 MARK(z) -{ 1 }-> 1 + A__F(a__f(mark(z01), z1''), z1) + MARK(1 + z01 + z1'') :|: z = 1 + (1 + z01 + z1'') + z1, z1 >= 0, z01 >= 0, z1'' >= 0 MARK(z) -{ 1 }-> 1 + A__F(0, z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 MARK(z) -{ 1 }-> 1 + A__F(1 + mark(z02), z1) + MARK(1 + z02) :|: z1 >= 0, z = 1 + (1 + z02) + z1, z02 >= 0 a__f(z, z') -{ 0 }-> a__f(a__f(mark(z03), z11), 1 + (1 + (1 + z03 + z11)) + z') :|: z11 >= 0, z' >= 0, z03 >= 0, z = 1 + (1 + z03 + z11) a__f(z, z') -{ 0 }-> a__f(0, 1 + (1 + (z - 1)) + z') :|: z' >= 0, z - 1 >= 0 a__f(z, z') -{ 0 }-> a__f(1 + mark(z - 2), 1 + (1 + (1 + (z - 2))) + z') :|: z - 2 >= 0, z' >= 0 a__f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 a__f(z, z') -{ 0 }-> 1 + z + z' :|: z' >= 0, z >= 0 mark(z) -{ 0 }-> a__f(a__f(mark(z05), z12), z1) :|: z = 1 + (1 + z05 + z12) + z1, z1 >= 0, z12 >= 0, z05 >= 0 mark(z) -{ 0 }-> a__f(0, z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> a__f(1 + mark(z06), z1) :|: z1 >= 0, z = 1 + (1 + z06) + z1, z06 >= 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 0 }-> 1 + mark(z - 1) :|: z - 1 >= 0 ---------------------------------------- (43) 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, v1) -> null_a__f [0] mark(v0) -> null_mark [0] A__F(v0, v1) -> null_A__F [0] MARK(v0) -> null_MARK [0] And the following fresh constants: null_a__f, null_mark, null_A__F, null_MARK ---------------------------------------- (44) 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(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) [1] MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) [1] MARK(g(z0)) -> c3(MARK(z0)) [1] a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) [0] a__f(z0, z1) -> f(z0, z1) [0] mark(f(z0, z1)) -> a__f(mark(z0), z1) [0] mark(g(z0)) -> g(mark(z0)) [0] a__f(v0, v1) -> null_a__f [0] mark(v0) -> null_mark [0] A__F(v0, v1) -> null_A__F [0] MARK(v0) -> null_MARK [0] The TRS has the following type information: A__F :: g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark -> c:null_A__F g :: g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark c :: c:null_A__F -> c2:c3:null_MARK -> c:null_A__F mark :: g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark f :: g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark MARK :: g:f:null_a__f:null_mark -> c2:c3:null_MARK c2 :: c:null_A__F -> c2:c3:null_MARK -> c2:c3:null_MARK c3 :: c2:c3:null_MARK -> c2:c3:null_MARK a__f :: g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark -> g:f:null_a__f:null_mark null_a__f :: g:f:null_a__f:null_mark null_mark :: g:f:null_a__f:null_mark null_A__F :: c:null_A__F null_MARK :: c2:c3:null_MARK Rewrite Strategy: INNERMOST ---------------------------------------- (45) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: null_a__f => 0 null_mark => 0 null_A__F => 0 null_MARK => 0 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: A__F(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 A__F(z, z') -{ 1 }-> 1 + A__F(mark(z0), 1 + (1 + z0) + z1) + MARK(z0) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 MARK(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 MARK(z) -{ 1 }-> 1 + MARK(z0) :|: z = 1 + z0, z0 >= 0 MARK(z) -{ 1 }-> 1 + A__F(mark(z0), z1) + MARK(z0) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 a__f(z, z') -{ 0 }-> a__f(mark(z0), 1 + (1 + z0) + z1) :|: z1 >= 0, z = 1 + z0, z' = z1, z0 >= 0 a__f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 a__f(z, z') -{ 0 }-> 1 + z0 + z1 :|: z = z0, z1 >= 0, z' = z1, z0 >= 0 mark(z) -{ 0 }-> a__f(mark(z0), z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 0 }-> 1 + mark(z0) :|: z = 1 + z0, z0 >= 0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (47) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(g(z0), z1) -> c(A__F(mark(z0), f(g(z0), z1)), MARK(z0)) by A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) S tuples: MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c2_2, c3_1, c_2 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(z0, z1)) -> c2(A__F(mark(z0), z1), MARK(z0)) by MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c_2, c2_2 ---------------------------------------- (51) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(g(f(z0, z1)), x1) -> c(A__F(a__f(mark(z0), z1), f(g(f(z0, z1)), x1)), MARK(f(z0, z1))) by A__F(g(f(x0, z1)), x2) -> c(A__F(f(mark(x0), z1), f(g(f(x0, z1)), x2)), MARK(f(x0, z1))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(x0, z1)), x2) -> c(A__F(f(mark(x0), z1), f(g(f(x0, z1)), x2)), MARK(f(x0, z1))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(x0, z1)), x2) -> c(A__F(f(mark(x0), z1), f(g(f(x0, z1)), x2)), MARK(f(x0, z1))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c_2, c2_2 ---------------------------------------- (53) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c_2, c2_2, c_1 ---------------------------------------- (55) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__F(g(g(z0)), x1) -> c(A__F(g(mark(z0)), f(g(g(z0)), x1)), MARK(g(z0))) by A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c2_2, c_2, c_1 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(f(z0, z1), x1)) -> c2(A__F(a__f(mark(z0), z1), x1), MARK(f(z0, z1))) by MARK(f(f(x0, z1), x2)) -> c2(A__F(f(mark(x0), z1), x2), MARK(f(x0, z1))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(x0, z1), x2)) -> c2(A__F(f(mark(x0), z1), x2), MARK(f(x0, z1))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(x0, z1), x2)) -> c2(A__F(f(mark(x0), z1), x2), MARK(f(x0, z1))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c2_2, c_2, c_1 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c2_2, c_2, c_1, c2_1 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(f(g(z0), x1)) -> c2(A__F(g(mark(z0)), x1), MARK(g(z0))) by MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) S tuples: MARK(g(z0)) -> c3(MARK(z0)) A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: MARK_1, A__F_2 Compound Symbols: c3_1, c_2, c_1, c2_2, c2_1 ---------------------------------------- (63) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(g(z0)) -> c3(MARK(z0)) by MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c_1, c2_2, c2_1, c3_1 ---------------------------------------- (65) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(f(x0, z1)), x2) -> c(MARK(f(x0, z1))) by A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) A__F(g(g(x0)), x1) -> c(MARK(g(x0))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c_1, c2_2, c2_1, c3_1 ---------------------------------------- (67) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(g(x0)), x1) -> c(MARK(g(x0))) by A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c2_1, c3_1, c_1 ---------------------------------------- (69) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(f(x0, z1), x2)) -> c2(MARK(f(x0, z1))) by MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c2_1, c3_1, c_1 ---------------------------------------- (71) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(g(x0), x1)) -> c2(MARK(g(x0))) by MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(g(y0))) -> c3(MARK(g(y0))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (73) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(g(g(y0))) -> c3(MARK(g(y0))) by MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (75) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(g(f(f(y0, y1), y2))) -> c3(MARK(f(f(y0, y1), y2))) by MARK(g(f(f(f(y0, y1), z1), z2))) -> c3(MARK(f(f(f(y0, y1), z1), z2))) MARK(g(f(f(g(y0), z1), z2))) -> c3(MARK(f(f(g(y0), z1), z2))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (77) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(g(f(g(y0), y1))) -> c3(MARK(f(g(y0), y1))) by MARK(g(f(g(f(y0, y1)), z1))) -> c3(MARK(f(g(f(y0, y1)), z1))) MARK(g(f(g(g(y0)), z1))) -> c3(MARK(f(g(g(y0)), z1))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (79) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(f(f(y0, y1), z1)), z2) -> c(MARK(f(f(y0, y1), z1))) by A__F(g(f(f(f(y0, y1), z1), z2)), z3) -> c(MARK(f(f(f(y0, y1), z1), z2))) A__F(g(f(f(g(y0), z1), z2)), z3) -> c(MARK(f(f(g(y0), z1), z2))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (81) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(f(g(y0), z1)), z2) -> c(MARK(f(g(y0), z1))) by A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (83) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(g(g(y0))), z1) -> c(MARK(g(g(y0)))) by A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (85) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(g(f(f(y0, y1), y2))), z1) -> c(MARK(g(f(f(y0, y1), y2)))) by A__F(g(g(f(f(f(y0, y1), z1), z2))), z3) -> c(MARK(g(f(f(f(y0, y1), z1), z2)))) A__F(g(g(f(f(g(y0), z1), z2))), z3) -> c(MARK(g(f(f(g(y0), z1), z2)))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (87) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace A__F(g(g(f(g(y0), y1))), z1) -> c(MARK(g(f(g(y0), y1)))) by A__F(g(g(f(g(f(y0, y1)), z1))), z2) -> c(MARK(g(f(g(f(y0, y1)), z1)))) A__F(g(g(f(g(g(y0)), z1))), z2) -> c(MARK(g(f(g(g(y0)), z1)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (89) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(f(f(y0, y1), z1), z2)) -> c2(MARK(f(f(y0, y1), z1))) by MARK(f(f(f(f(y0, y1), z1), z2), z3)) -> c2(MARK(f(f(f(y0, y1), z1), z2))) MARK(f(f(f(g(y0), z1), z2), z3)) -> c2(MARK(f(f(g(y0), z1), z2))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (91) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(f(g(y0), z1), z2)) -> c2(MARK(f(g(y0), z1))) by MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (93) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(g(g(y0)), z1)) -> c2(MARK(g(g(y0)))) by MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (95) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(g(f(f(y0, y1), y2)), z1)) -> c2(MARK(g(f(f(y0, y1), y2)))) by MARK(f(g(f(f(f(y0, y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(y0, y1), z1), z2)))) MARK(f(g(f(f(g(y0), z1), z2)), z3)) -> c2(MARK(g(f(f(g(y0), z1), z2)))) MARK(f(g(f(f(f(f(y0, y1), y2), z1), z2)), z3)) -> c2(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) MARK(f(g(f(f(f(g(y0), y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(g(y0), y1), z1), z2)))) MARK(f(g(f(f(g(f(y0, y1)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) MARK(f(g(f(f(g(g(y0)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(g(y0)), z1), z2)))) ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) MARK(f(g(f(f(f(f(y0, y1), y2), z1), z2)), z3)) -> c2(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) MARK(f(g(f(f(f(g(y0), y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(g(y0), y1), z1), z2)))) MARK(f(g(f(f(g(f(y0, y1)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) MARK(f(g(f(f(g(g(y0)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(g(y0)), z1), z2)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) MARK(f(g(f(f(f(f(y0, y1), y2), z1), z2)), z3)) -> c2(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) MARK(f(g(f(f(f(g(y0), y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(g(y0), y1), z1), z2)))) MARK(f(g(f(f(g(f(y0, y1)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) MARK(f(g(f(f(g(g(y0)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(g(y0)), z1), z2)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (97) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID)) Use forward instantiation to replace MARK(f(g(f(g(y0), y1)), z1)) -> c2(MARK(g(f(g(y0), y1)))) by MARK(f(g(f(g(f(y0, y1)), z1)), z2)) -> c2(MARK(g(f(g(f(y0, y1)), z1)))) MARK(f(g(f(g(g(y0)), z1)), z2)) -> c2(MARK(g(f(g(g(y0)), z1)))) MARK(f(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2)) -> c2(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) MARK(f(g(f(g(f(f(g(y0), y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) MARK(f(g(f(g(f(f(y0, y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) MARK(f(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) MARK(f(g(f(g(f(g(g(y0)), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) MARK(f(g(f(g(f(g(y0), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(y0), y1)), z1)))) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__f(g(z0), z1) -> a__f(mark(z0), f(g(z0), z1)) a__f(z0, z1) -> f(z0, z1) mark(f(z0, z1)) -> a__f(mark(z0), z1) mark(g(z0)) -> g(mark(z0)) Tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) MARK(f(g(f(f(f(f(y0, y1), y2), z1), z2)), z3)) -> c2(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) MARK(f(g(f(f(f(g(y0), y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(g(y0), y1), z1), z2)))) MARK(f(g(f(f(g(f(y0, y1)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) MARK(f(g(f(f(g(g(y0)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(g(y0)), z1), z2)))) MARK(f(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2)) -> c2(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) MARK(f(g(f(g(f(f(g(y0), y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) MARK(f(g(f(g(f(f(y0, y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) MARK(f(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) MARK(f(g(f(g(f(g(g(y0)), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) MARK(f(g(f(g(f(g(y0), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(y0), y1)), z1)))) S tuples: A__F(g(f(f(z0, z1), x1)), x2) -> c(A__F(a__f(a__f(mark(z0), z1), x1), f(g(f(f(z0, z1), x1)), x2)), MARK(f(f(z0, z1), x1))) A__F(g(f(g(z0), x1)), x2) -> c(A__F(a__f(g(mark(z0)), x1), f(g(f(g(z0), x1)), x2)), MARK(f(g(z0), x1))) A__F(g(g(f(z0, z1))), x1) -> c(A__F(g(a__f(mark(z0), z1)), f(g(g(f(z0, z1))), x1)), MARK(g(f(z0, z1)))) A__F(g(g(g(z0))), x1) -> c(A__F(g(g(mark(z0))), f(g(g(g(z0))), x1)), MARK(g(g(z0)))) MARK(f(f(f(z0, z1), x1), x2)) -> c2(A__F(a__f(a__f(mark(z0), z1), x1), x2), MARK(f(f(z0, z1), x1))) MARK(f(f(g(z0), x1), x2)) -> c2(A__F(a__f(g(mark(z0)), x1), x2), MARK(f(g(z0), x1))) MARK(f(g(f(z0, z1)), x1)) -> c2(A__F(g(a__f(mark(z0), z1)), x1), MARK(g(f(z0, z1)))) MARK(f(g(g(z0)), x1)) -> c2(A__F(g(g(mark(z0))), x1), MARK(g(g(z0)))) MARK(g(f(f(f(y0, y1), y2), y3))) -> c3(MARK(f(f(f(y0, y1), y2), y3))) MARK(g(f(f(g(y0), y1), y2))) -> c3(MARK(f(f(g(y0), y1), y2))) MARK(g(f(g(f(y0, y1)), y2))) -> c3(MARK(f(g(f(y0, y1)), y2))) MARK(g(f(g(g(y0)), y1))) -> c3(MARK(f(g(g(y0)), y1))) A__F(g(f(f(f(y0, y1), y2), z1)), z2) -> c(MARK(f(f(f(y0, y1), y2), z1))) A__F(g(f(f(g(y0), y1), z1)), z2) -> c(MARK(f(f(g(y0), y1), z1))) A__F(g(f(g(f(y0, y1)), z1)), z2) -> c(MARK(f(g(f(y0, y1)), z1))) A__F(g(f(g(g(y0)), z1)), z2) -> c(MARK(f(g(g(y0)), z1))) A__F(g(g(f(f(f(y0, y1), y2), y3))), z1) -> c(MARK(g(f(f(f(y0, y1), y2), y3)))) A__F(g(g(f(f(g(y0), y1), y2))), z1) -> c(MARK(g(f(f(g(y0), y1), y2)))) A__F(g(g(f(g(f(y0, y1)), y2))), z1) -> c(MARK(g(f(g(f(y0, y1)), y2)))) A__F(g(g(f(g(g(y0)), y1))), z1) -> c(MARK(g(f(g(g(y0)), y1)))) MARK(f(f(f(f(y0, y1), y2), z1), z2)) -> c2(MARK(f(f(f(y0, y1), y2), z1))) MARK(f(f(f(g(y0), y1), z1), z2)) -> c2(MARK(f(f(g(y0), y1), z1))) MARK(f(f(g(f(y0, y1)), z1), z2)) -> c2(MARK(f(g(f(y0, y1)), z1))) MARK(f(f(g(g(y0)), z1), z2)) -> c2(MARK(f(g(g(y0)), z1))) MARK(f(g(f(f(f(y0, y1), y2), y3)), z1)) -> c2(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(f(g(f(f(g(y0), y1), y2)), z1)) -> c2(MARK(g(f(f(g(y0), y1), y2)))) MARK(f(g(f(g(f(y0, y1)), y2)), z1)) -> c2(MARK(g(f(g(f(y0, y1)), y2)))) MARK(f(g(f(g(g(y0)), y1)), z1)) -> c2(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(g(y0)))) -> c3(MARK(g(g(y0)))) MARK(g(g(f(f(f(y0, y1), y2), y3)))) -> c3(MARK(g(f(f(f(y0, y1), y2), y3)))) MARK(g(g(f(f(g(y0), y1), y2)))) -> c3(MARK(g(f(f(g(y0), y1), y2)))) MARK(g(g(f(f(y0, y1), y2)))) -> c3(MARK(g(f(f(y0, y1), y2)))) MARK(g(g(f(g(f(y0, y1)), y2)))) -> c3(MARK(g(f(g(f(y0, y1)), y2)))) MARK(g(g(f(g(g(y0)), y1)))) -> c3(MARK(g(f(g(g(y0)), y1)))) MARK(g(g(f(g(y0), y1)))) -> c3(MARK(g(f(g(y0), y1)))) MARK(g(f(f(f(f(y0, y1), y2), z1), z2))) -> c3(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(g(f(f(f(g(y0), y1), z1), z2))) -> c3(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(g(f(f(g(f(y0, y1)), z1), z2))) -> c3(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(g(f(f(g(g(y0)), z1), z2))) -> c3(MARK(f(f(g(g(y0)), z1), z2))) MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1))) -> c3(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(g(f(g(f(f(g(y0), y1), y2)), z1))) -> c3(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(g(f(g(f(f(y0, y1), y2)), z1))) -> c3(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(g(f(g(f(g(f(y0, y1)), y2)), z1))) -> c3(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(g(f(g(f(g(g(y0)), y1)), z1))) -> c3(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(g(f(g(f(g(y0), y1)), z1))) -> c3(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(f(f(f(f(y0, y1), y2), z1), z2)), z3) -> c(MARK(f(f(f(f(y0, y1), y2), z1), z2))) A__F(g(f(f(f(g(y0), y1), z1), z2)), z3) -> c(MARK(f(f(f(g(y0), y1), z1), z2))) A__F(g(f(f(g(f(y0, y1)), z1), z2)), z3) -> c(MARK(f(f(g(f(y0, y1)), z1), z2))) A__F(g(f(f(g(g(y0)), z1), z2)), z3) -> c(MARK(f(f(g(g(y0)), z1), z2))) A__F(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2) -> c(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) A__F(g(f(g(f(f(g(y0), y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(g(y0), y1), y2)), z1))) A__F(g(f(g(f(f(y0, y1), y2)), z1)), z2) -> c(MARK(f(g(f(f(y0, y1), y2)), z1))) A__F(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2) -> c(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) A__F(g(f(g(f(g(g(y0)), y1)), z1)), z2) -> c(MARK(f(g(f(g(g(y0)), y1)), z1))) A__F(g(f(g(f(g(y0), y1)), z1)), z2) -> c(MARK(f(g(f(g(y0), y1)), z1))) A__F(g(g(g(g(y0)))), z1) -> c(MARK(g(g(g(y0))))) A__F(g(g(g(f(f(f(y0, y1), y2), y3)))), z1) -> c(MARK(g(g(f(f(f(y0, y1), y2), y3))))) A__F(g(g(g(f(f(g(y0), y1), y2)))), z1) -> c(MARK(g(g(f(f(g(y0), y1), y2))))) A__F(g(g(g(f(f(y0, y1), y2)))), z1) -> c(MARK(g(g(f(f(y0, y1), y2))))) A__F(g(g(g(f(g(f(y0, y1)), y2)))), z1) -> c(MARK(g(g(f(g(f(y0, y1)), y2))))) A__F(g(g(g(f(g(g(y0)), y1)))), z1) -> c(MARK(g(g(f(g(g(y0)), y1))))) A__F(g(g(g(f(g(y0), y1)))), z1) -> c(MARK(g(g(f(g(y0), y1))))) A__F(g(g(f(f(f(f(y0, y1), y2), z1), z2))), z3) -> c(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) A__F(g(g(f(f(f(g(y0), y1), z1), z2))), z3) -> c(MARK(g(f(f(f(g(y0), y1), z1), z2)))) A__F(g(g(f(f(g(f(y0, y1)), z1), z2))), z3) -> c(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) A__F(g(g(f(f(g(g(y0)), z1), z2))), z3) -> c(MARK(g(f(f(g(g(y0)), z1), z2)))) A__F(g(g(f(g(f(f(f(y0, y1), y2), y3)), z1))), z2) -> c(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) A__F(g(g(f(g(f(f(g(y0), y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) A__F(g(g(f(g(f(f(y0, y1), y2)), z1))), z2) -> c(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) A__F(g(g(f(g(f(g(f(y0, y1)), y2)), z1))), z2) -> c(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) A__F(g(g(f(g(f(g(g(y0)), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) A__F(g(g(f(g(f(g(y0), y1)), z1))), z2) -> c(MARK(g(f(g(f(g(y0), y1)), z1)))) MARK(f(f(f(f(f(y0, y1), y2), z1), z2), z3)) -> c2(MARK(f(f(f(f(y0, y1), y2), z1), z2))) MARK(f(f(f(f(g(y0), y1), z1), z2), z3)) -> c2(MARK(f(f(f(g(y0), y1), z1), z2))) MARK(f(f(f(g(f(y0, y1)), z1), z2), z3)) -> c2(MARK(f(f(g(f(y0, y1)), z1), z2))) MARK(f(f(f(g(g(y0)), z1), z2), z3)) -> c2(MARK(f(f(g(g(y0)), z1), z2))) MARK(f(f(g(f(f(f(y0, y1), y2), y3)), z1), z2)) -> c2(MARK(f(g(f(f(f(y0, y1), y2), y3)), z1))) MARK(f(f(g(f(f(g(y0), y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(g(y0), y1), y2)), z1))) MARK(f(f(g(f(f(y0, y1), y2)), z1), z2)) -> c2(MARK(f(g(f(f(y0, y1), y2)), z1))) MARK(f(f(g(f(g(f(y0, y1)), y2)), z1), z2)) -> c2(MARK(f(g(f(g(f(y0, y1)), y2)), z1))) MARK(f(f(g(f(g(g(y0)), y1)), z1), z2)) -> c2(MARK(f(g(f(g(g(y0)), y1)), z1))) MARK(f(f(g(f(g(y0), y1)), z1), z2)) -> c2(MARK(f(g(f(g(y0), y1)), z1))) MARK(f(g(g(g(y0))), z1)) -> c2(MARK(g(g(g(y0))))) MARK(f(g(g(f(f(f(y0, y1), y2), y3))), z1)) -> c2(MARK(g(g(f(f(f(y0, y1), y2), y3))))) MARK(f(g(g(f(f(g(y0), y1), y2))), z1)) -> c2(MARK(g(g(f(f(g(y0), y1), y2))))) MARK(f(g(g(f(f(y0, y1), y2))), z1)) -> c2(MARK(g(g(f(f(y0, y1), y2))))) MARK(f(g(g(f(g(f(y0, y1)), y2))), z1)) -> c2(MARK(g(g(f(g(f(y0, y1)), y2))))) MARK(f(g(g(f(g(g(y0)), y1))), z1)) -> c2(MARK(g(g(f(g(g(y0)), y1))))) MARK(f(g(g(f(g(y0), y1))), z1)) -> c2(MARK(g(g(f(g(y0), y1))))) MARK(f(g(f(f(f(f(y0, y1), y2), z1), z2)), z3)) -> c2(MARK(g(f(f(f(f(y0, y1), y2), z1), z2)))) MARK(f(g(f(f(f(g(y0), y1), z1), z2)), z3)) -> c2(MARK(g(f(f(f(g(y0), y1), z1), z2)))) MARK(f(g(f(f(g(f(y0, y1)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(f(y0, y1)), z1), z2)))) MARK(f(g(f(f(g(g(y0)), z1), z2)), z3)) -> c2(MARK(g(f(f(g(g(y0)), z1), z2)))) MARK(f(g(f(g(f(f(f(y0, y1), y2), y3)), z1)), z2)) -> c2(MARK(g(f(g(f(f(f(y0, y1), y2), y3)), z1)))) MARK(f(g(f(g(f(f(g(y0), y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(g(y0), y1), y2)), z1)))) MARK(f(g(f(g(f(f(y0, y1), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(f(y0, y1), y2)), z1)))) MARK(f(g(f(g(f(g(f(y0, y1)), y2)), z1)), z2)) -> c2(MARK(g(f(g(f(g(f(y0, y1)), y2)), z1)))) MARK(f(g(f(g(f(g(g(y0)), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(g(y0)), y1)), z1)))) MARK(f(g(f(g(f(g(y0), y1)), z1)), z2)) -> c2(MARK(g(f(g(f(g(y0), y1)), z1)))) K tuples:none Defined Rule Symbols: a__f_2, mark_1 Defined Pair Symbols: A__F_2, MARK_1 Compound Symbols: c_2, c2_2, c3_1, c_1, c2_1 ---------------------------------------- (99) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (100) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) [1] mark(f(X1, X2)) -> a__f(mark(X1), X2) [1] mark(g(X)) -> g(mark(X)) [1] a__f(X1, X2) -> f(X1, X2) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (101) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (102) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__f(g(X), Y) -> a__f(mark(X), f(g(X), Y)) [1] mark(f(X1, X2)) -> a__f(mark(X1), X2) [1] mark(g(X)) -> g(mark(X)) [1] a__f(X1, X2) -> f(X1, X2) [1] The TRS has the following type information: a__f :: g:f -> g:f -> g:f g :: g:f -> g:f mark :: g:f -> g:f f :: g:f -> g:f -> g:f Rewrite Strategy: INNERMOST ---------------------------------------- (103) 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__f_2 Due to the following rules being added: mark(v0) -> const [0] And the following fresh constants: const ---------------------------------------- (104) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) [1] mark(f(X1, X2)) -> a__f(mark(X1), X2) [1] mark(g(X)) -> g(mark(X)) [1] a__f(X1, X2) -> f(X1, X2) [1] mark(v0) -> const [0] The TRS has the following type information: a__f :: g:f:const -> g:f:const -> g:f:const g :: g:f:const -> g:f:const mark :: g:f:const -> g:f:const f :: g:f:const -> g:f:const -> g:f:const const :: g:f:const Rewrite Strategy: INNERMOST ---------------------------------------- (105) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (106) 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(g(f(X1', X2')), Y) -> a__f(a__f(mark(X1'), X2'), f(g(f(X1', X2')), Y)) [2] a__f(g(g(X')), Y) -> a__f(g(mark(X')), f(g(g(X')), Y)) [2] a__f(g(X), Y) -> a__f(const, f(g(X), Y)) [1] mark(f(f(X1'', X2''), X2)) -> a__f(a__f(mark(X1''), X2''), X2) [2] mark(f(g(X''), X2)) -> a__f(g(mark(X'')), X2) [2] mark(f(X1, X2)) -> a__f(const, X2) [1] mark(g(X)) -> g(mark(X)) [1] a__f(X1, X2) -> f(X1, X2) [1] mark(v0) -> const [0] The TRS has the following type information: a__f :: g:f:const -> g:f:const -> g:f:const g :: g:f:const -> g:f:const mark :: g:f:const -> g:f:const f :: g:f:const -> g:f:const -> g:f:const const :: g:f:const Rewrite Strategy: INNERMOST ---------------------------------------- (107) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: const => 0 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: a__f(z, z') -{ 2 }-> a__f(a__f(mark(X1'), X2'), 1 + (1 + (1 + X1' + X2')) + Y) :|: z = 1 + (1 + X1' + X2'), X2' >= 0, z' = Y, X1' >= 0, Y >= 0 a__f(z, z') -{ 1 }-> a__f(0, 1 + (1 + X) + Y) :|: z = 1 + X, z' = Y, Y >= 0, X >= 0 a__f(z, z') -{ 2 }-> a__f(1 + mark(X'), 1 + (1 + (1 + X')) + Y) :|: z' = Y, Y >= 0, X' >= 0, z = 1 + (1 + X') a__f(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 mark(z) -{ 2 }-> a__f(a__f(mark(X1''), X2''), X2) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2'') + X2, X2'' >= 0, X2 >= 0 mark(z) -{ 1 }-> a__f(0, X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> a__f(1 + mark(X''), X2) :|: z = 1 + (1 + X'') + X2, X'' >= 0, X2 >= 0 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 ---------------------------------------- (109) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: a__f(z, z') -{ 2 }-> a__f(a__f(mark(X1'), X2'), 1 + (1 + (1 + X1' + X2')) + z') :|: z = 1 + (1 + X1' + X2'), X2' >= 0, X1' >= 0, z' >= 0 a__f(z, z') -{ 1 }-> a__f(0, 1 + (1 + (z - 1)) + z') :|: z' >= 0, z - 1 >= 0 a__f(z, z') -{ 2 }-> a__f(1 + mark(z - 2), 1 + (1 + (1 + (z - 2))) + z') :|: z' >= 0, z - 2 >= 0 a__f(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 mark(z) -{ 2 }-> a__f(a__f(mark(X1''), X2''), X2) :|: X1'' >= 0, z = 1 + (1 + X1'' + X2'') + X2, X2'' >= 0, X2 >= 0 mark(z) -{ 1 }-> a__f(0, X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 2 }-> a__f(1 + mark(X''), X2) :|: z = 1 + (1 + X'') + X2, X'' >= 0, X2 >= 0 mark(z) -{ 0 }-> 0 :|: z >= 0 mark(z) -{ 1 }-> 1 + mark(z - 1) :|: z - 1 >= 0 ---------------------------------------- (111) 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: mark(v0) -> null_mark [0] And the following fresh constants: null_mark ---------------------------------------- (112) 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(g(X), Y) -> a__f(mark(X), f(g(X), Y)) [1] mark(f(X1, X2)) -> a__f(mark(X1), X2) [1] mark(g(X)) -> g(mark(X)) [1] a__f(X1, X2) -> f(X1, X2) [1] mark(v0) -> null_mark [0] The TRS has the following type information: a__f :: g:f:null_mark -> g:f:null_mark -> g:f:null_mark g :: g:f:null_mark -> g:f:null_mark mark :: g:f:null_mark -> g:f:null_mark f :: g:f:null_mark -> g:f:null_mark -> g:f:null_mark null_mark :: g:f:null_mark Rewrite Strategy: INNERMOST ---------------------------------------- (113) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: null_mark => 0 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: a__f(z, z') -{ 1 }-> a__f(mark(X), 1 + (1 + X) + Y) :|: z = 1 + X, z' = Y, Y >= 0, X >= 0 a__f(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 mark(z) -{ 1 }-> a__f(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 Only complete derivations are relevant for the runtime complexity.