WORST_CASE(?,O(n^2)) proof of input_QiBFW5OJx2.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^2). (0) CpxTRS (1) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (2) CdtProblem (3) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (4) CdtProblem (5) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CdtProblem (7) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 159 ms] (8) CdtProblem (9) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 31 ms] (10) CdtProblem (11) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 35 ms] (12) CdtProblem (13) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 24 ms] (14) CdtProblem (15) CdtRuleRemovalProof [UPPER BOUND(ADD(n^2)), 2907 ms] (16) CdtProblem (17) CdtRuleRemovalProof [UPPER BOUND(ADD(n^2)), 2898 ms] (18) CdtProblem (19) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] (20) BOUNDS(1, 1) ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^2). The TRS R consists of the following rules: f(S(x'), S(x)) -> h(g(x', S(x)), f(S(S(x')), x)) h(0, S(x)) -> h(0, x) h(0, 0) -> 0 g(S(x), S(x')) -> h(f(S(x), S(x')), g(x, S(S(x')))) g(S(x), 0) -> 0 f(S(x), 0) -> 0 h(S(x), x2) -> h(x, x2) g(0, x2) -> 0 f(0, x2) -> 0 S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (2) Obligation: Complexity Dependency Tuples Problem Rules: f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 f(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(S(z0), 0) -> 0 g(0, z0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) F(S(z0), 0) -> c2 F(0, z0) -> c3 H(0, S(z0)) -> c4(H(0, z0)) H(0, 0) -> c5 H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) G(S(z0), 0) -> c9 G(0, z0) -> c10 S tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) F(S(z0), 0) -> c2 F(0, z0) -> c3 H(0, S(z0)) -> c4(H(0, z0)) H(0, 0) -> c5 H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) G(S(z0), 0) -> c9 G(0, z0) -> c10 K tuples:none Defined Rule Symbols: f_2, h_2, g_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c2, c3, c4_1, c5, c6_1, c7_2, c8_2, c9, c10 ---------------------------------------- (3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 5 trailing nodes: F(0, z0) -> c3 G(0, z0) -> c10 F(S(z0), 0) -> c2 G(S(z0), 0) -> c9 H(0, 0) -> c5 ---------------------------------------- (4) Obligation: Complexity Dependency Tuples Problem Rules: f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 f(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(S(z0), 0) -> 0 g(0, z0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples:none Defined Rule Symbols: f_2, h_2, g_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (5) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: f(0, z0) -> 0 g(S(z0), 0) -> 0 ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples:none Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (7) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) We considered the (Usable) Rules:none And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = [1] + x_1 + x_2 POL(G(x_1, x_2)) = [1] + x_1 + x_2 POL(H(x_1, x_2)) = 0 POL(S(x_1)) = [1] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = [1] ---------------------------------------- (8) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (9) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) We considered the (Usable) Rules:none And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = x_1 + x_2 POL(G(x_1, x_2)) = [1] + x_1 + x_2 POL(H(x_1, x_2)) = 0 POL(S(x_1)) = [1] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = [1] ---------------------------------------- (10) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (11) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. H(0, S(z0)) -> c4(H(0, z0)) We considered the (Usable) Rules: f(S(z0), 0) -> 0 g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = 0 POL(G(x_1, x_2)) = 0 POL(H(x_1, x_2)) = x_2 POL(S(x_1)) = [1] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = 0 ---------------------------------------- (12) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) H(0, S(z0)) -> c4(H(0, z0)) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (13) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. H(S(z0), z1) -> c6(H(z0, z1)) We considered the (Usable) Rules: g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = 0 POL(G(x_1, x_2)) = 0 POL(H(x_1, x_2)) = x_1 POL(S(x_1)) = [1] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = 0 ---------------------------------------- (14) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (15) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) We considered the (Usable) Rules:none And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = x_2 + x_2^2 + [2]x_1*x_2 + x_1^2 POL(G(x_1, x_2)) = x_1 + x_2 + x_2^2 + [2]x_1*x_2 + x_1^2 POL(H(x_1, x_2)) = 0 POL(S(x_1)) = [2] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = 0 ---------------------------------------- (16) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples: G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (17) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) We considered the (Usable) Rules:none And the Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(F(x_1, x_2)) = x_2^2 + [2]x_1*x_2 + x_1^2 POL(G(x_1, x_2)) = x_1 + x_2^2 + [2]x_1*x_2 + x_1^2 POL(H(x_1, x_2)) = 0 POL(S(x_1)) = [2] + x_1 POL(c(x_1, x_2)) = x_1 + x_2 POL(c1(x_1, x_2)) = x_1 + x_2 POL(c4(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2)) = x_1 + x_2 POL(f(x_1, x_2)) = 0 POL(g(x_1, x_2)) = 0 POL(h(x_1, x_2)) = 0 ---------------------------------------- (18) Obligation: Complexity Dependency Tuples Problem Rules: g(S(z0), S(z1)) -> h(f(S(z0), S(z1)), g(z0, S(S(z1)))) g(0, z0) -> 0 h(0, S(z0)) -> h(0, z0) h(0, 0) -> 0 h(S(z0), z1) -> h(z0, z1) f(S(z0), S(z1)) -> h(g(z0, S(z1)), f(S(S(z0)), z1)) f(S(z0), 0) -> 0 Tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) S tuples:none K tuples: F(S(z0), S(z1)) -> c(H(g(z0, S(z1)), f(S(S(z0)), z1)), G(z0, S(z1))) G(S(z0), S(z1)) -> c7(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), F(S(z0), S(z1))) H(0, S(z0)) -> c4(H(0, z0)) H(S(z0), z1) -> c6(H(z0, z1)) F(S(z0), S(z1)) -> c1(H(g(z0, S(z1)), f(S(S(z0)), z1)), F(S(S(z0)), z1)) G(S(z0), S(z1)) -> c8(H(f(S(z0), S(z1)), g(z0, S(S(z1)))), G(z0, S(S(z1)))) Defined Rule Symbols: g_2, h_2, f_2 Defined Pair Symbols: F_2, H_2, G_2 Compound Symbols: c_2, c1_2, c4_1, c6_1, c7_2, c8_2 ---------------------------------------- (19) SIsEmptyProof (BOTH BOUNDS(ID, ID)) The set S is empty ---------------------------------------- (20) BOUNDS(1, 1)