/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^3), O(n^3)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^3, n^3). (0) CpxTRS (1) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (2) CdtProblem (3) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 1 ms] (4) CdtProblem (5) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 88 ms] (6) CdtProblem (7) CdtRuleRemovalProof [UPPER BOUND(ADD(n^2)), 80 ms] (8) CdtProblem (9) CdtRuleRemovalProof [UPPER BOUND(ADD(n^3)), 522 ms] (10) CdtProblem (11) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] (12) BOUNDS(1, 1) (13) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (14) CpxTRS (15) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (16) typed CpxTrs (17) OrderProof [LOWER BOUND(ID), 0 ms] (18) typed CpxTrs (19) RewriteLemmaProof [LOWER BOUND(ID), 291 ms] (20) BEST (21) proven lower bound (22) LowerBoundPropagationProof [FINISHED, 0 ms] (23) BOUNDS(n^1, INF) (24) typed CpxTrs (25) RewriteLemmaProof [LOWER BOUND(ID), 1580 ms] (26) typed CpxTrs (27) RewriteLemmaProof [LOWER BOUND(ID), 69 ms] (28) proven lower bound (29) LowerBoundPropagationProof [FINISHED, 0 ms] (30) BOUNDS(n^3, INF) ---------------------------------------- (0) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^3, n^3). The TRS R consists of the following rules: +(0, y) -> y +(s(x), y) -> s(+(x, y)) +(p(x), y) -> p(+(x, y)) minus(0) -> 0 minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *(0, y) -> 0 *(s(x), y) -> +(*(x, y), y) *(p(x), y) -> +(*(x, y), minus(y)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS to CDT ---------------------------------------- (2) Obligation: Complexity Dependency Tuples Problem Rules: +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) +(p(z0), z1) -> p(+(z0, z1)) minus(0) -> 0 minus(s(z0)) -> p(minus(z0)) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) Tuples: +'(0, z0) -> c +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(0) -> c3 MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(0, z0) -> c6 *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) S tuples: +'(0, z0) -> c +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(0) -> c3 MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(0, z0) -> c6 *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) K tuples:none Defined Rule Symbols: +_2, minus_1, *_2 Defined Pair Symbols: +'_2, MINUS_1, *'_2 Compound Symbols: c, c1_1, c2_1, c3, c4_1, c5_1, c6, c7_2, c8_3 ---------------------------------------- (3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: *'(0, z0) -> c6 MINUS(0) -> c3 +'(0, z0) -> c ---------------------------------------- (4) Obligation: Complexity Dependency Tuples Problem Rules: +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) +(p(z0), z1) -> p(+(z0, z1)) minus(0) -> 0 minus(s(z0)) -> p(minus(z0)) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) S tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) K tuples:none Defined Rule Symbols: +_2, minus_1, *_2 Defined Pair Symbols: +'_2, MINUS_1, *'_2 Compound Symbols: c1_1, c2_1, c4_1, c5_1, c7_2, c8_3 ---------------------------------------- (5) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) We considered the (Usable) Rules:none And the Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) The order we found is given by the following interpretation: Polynomial interpretation : POL(*(x_1, x_2)) = [1] + x_1 + x_2 POL(*'(x_1, x_2)) = x_1 POL(+(x_1, x_2)) = [1] + x_1 + x_2 POL(+'(x_1, x_2)) = 0 POL(0) = [1] POL(MINUS(x_1)) = 0 POL(c1(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(minus(x_1)) = [1] + x_1 POL(p(x_1)) = [1] + x_1 POL(s(x_1)) = [1] + x_1 ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) +(p(z0), z1) -> p(+(z0, z1)) minus(0) -> 0 minus(s(z0)) -> p(minus(z0)) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) S tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) K tuples: *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) Defined Rule Symbols: +_2, minus_1, *_2 Defined Pair Symbols: +'_2, MINUS_1, *'_2 Compound Symbols: c1_1, c2_1, c4_1, c5_1, c7_2, c8_3 ---------------------------------------- (7) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) We considered the (Usable) Rules:none And the Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) The order we found is given by the following interpretation: Polynomial interpretation : POL(*(x_1, x_2)) = x_2^2 POL(*'(x_1, x_2)) = x_1*x_2 POL(+(x_1, x_2)) = [1] POL(+'(x_1, x_2)) = 0 POL(0) = 0 POL(MINUS(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(minus(x_1)) = 0 POL(p(x_1)) = [2] + x_1 POL(s(x_1)) = [1] + x_1 ---------------------------------------- (8) Obligation: Complexity Dependency Tuples Problem Rules: +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) +(p(z0), z1) -> p(+(z0, z1)) minus(0) -> 0 minus(s(z0)) -> p(minus(z0)) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) S tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) K tuples: *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) Defined Rule Symbols: +_2, minus_1, *_2 Defined Pair Symbols: +'_2, MINUS_1, *'_2 Compound Symbols: c1_1, c2_1, c4_1, c5_1, c7_2, c8_3 ---------------------------------------- (9) CdtRuleRemovalProof (UPPER BOUND(ADD(n^3))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) We considered the (Usable) Rules: +(s(z0), z1) -> s(+(z0, z1)) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) minus(0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 minus(s(z0)) -> p(minus(z0)) +(p(z0), z1) -> p(+(z0, z1)) +(0, z0) -> z0 And the Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) The order we found is given by the following interpretation: Polynomial interpretation : POL(*(x_1, x_2)) = x_1*x_2 POL(*'(x_1, x_2)) = x_1^2*x_2 POL(+(x_1, x_2)) = x_1 + x_2 POL(+'(x_1, x_2)) = x_1 POL(0) = 0 POL(MINUS(x_1)) = 0 POL(c1(x_1)) = x_1 POL(c2(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c7(x_1, x_2)) = x_1 + x_2 POL(c8(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(minus(x_1)) = x_1 POL(p(x_1)) = [1] + x_1 POL(s(x_1)) = [1] + x_1 ---------------------------------------- (10) Obligation: Complexity Dependency Tuples Problem Rules: +(0, z0) -> z0 +(s(z0), z1) -> s(+(z0, z1)) +(p(z0), z1) -> p(+(z0, z1)) minus(0) -> 0 minus(s(z0)) -> p(minus(z0)) minus(p(z0)) -> s(minus(z0)) *(0, z0) -> 0 *(s(z0), z1) -> +(*(z0, z1), z1) *(p(z0), z1) -> +(*(z0, z1), minus(z1)) Tuples: +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) S tuples:none K tuples: *'(s(z0), z1) -> c7(+'(*(z0, z1), z1), *'(z0, z1)) *'(p(z0), z1) -> c8(+'(*(z0, z1), minus(z1)), *'(z0, z1), MINUS(z1)) MINUS(s(z0)) -> c4(MINUS(z0)) MINUS(p(z0)) -> c5(MINUS(z0)) +'(s(z0), z1) -> c1(+'(z0, z1)) +'(p(z0), z1) -> c2(+'(z0, z1)) Defined Rule Symbols: +_2, minus_1, *_2 Defined Pair Symbols: +'_2, MINUS_1, *'_2 Compound Symbols: c1_1, c2_1, c4_1, c5_1, c7_2, c8_3 ---------------------------------------- (11) SIsEmptyProof (BOTH BOUNDS(ID, ID)) The set S is empty ---------------------------------------- (12) BOUNDS(1, 1) ---------------------------------------- (13) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (14) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^3, INF). The TRS R consists of the following rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (15) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (16) Obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p ---------------------------------------- (17) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: +', minus, *' They will be analysed ascendingly in the following order: +' < *' minus < *' ---------------------------------------- (18) Obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p Generator Equations: gen_0':s:p2_0(0) <=> 0' gen_0':s:p2_0(+(x, 1)) <=> s(gen_0':s:p2_0(x)) The following defined symbols remain to be analysed: +', minus, *' They will be analysed ascendingly in the following order: +' < *' minus < *' ---------------------------------------- (19) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: +'(gen_0':s:p2_0(n4_0), gen_0':s:p2_0(b)) -> gen_0':s:p2_0(+(n4_0, b)), rt in Omega(1 + n4_0) Induction Base: +'(gen_0':s:p2_0(0), gen_0':s:p2_0(b)) ->_R^Omega(1) gen_0':s:p2_0(b) Induction Step: +'(gen_0':s:p2_0(+(n4_0, 1)), gen_0':s:p2_0(b)) ->_R^Omega(1) s(+'(gen_0':s:p2_0(n4_0), gen_0':s:p2_0(b))) ->_IH s(gen_0':s:p2_0(+(b, c5_0))) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (20) Complex Obligation (BEST) ---------------------------------------- (21) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p Generator Equations: gen_0':s:p2_0(0) <=> 0' gen_0':s:p2_0(+(x, 1)) <=> s(gen_0':s:p2_0(x)) The following defined symbols remain to be analysed: +', minus, *' They will be analysed ascendingly in the following order: +' < *' minus < *' ---------------------------------------- (22) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (23) BOUNDS(n^1, INF) ---------------------------------------- (24) Obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p Lemmas: +'(gen_0':s:p2_0(n4_0), gen_0':s:p2_0(b)) -> gen_0':s:p2_0(+(n4_0, b)), rt in Omega(1 + n4_0) Generator Equations: gen_0':s:p2_0(0) <=> 0' gen_0':s:p2_0(+(x, 1)) <=> s(gen_0':s:p2_0(x)) The following defined symbols remain to be analysed: minus, *' They will be analysed ascendingly in the following order: minus < *' ---------------------------------------- (25) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: minus(gen_0':s:p2_0(+(1, n667_0))) -> *3_0, rt in Omega(n667_0) Induction Base: minus(gen_0':s:p2_0(+(1, 0))) Induction Step: minus(gen_0':s:p2_0(+(1, +(n667_0, 1)))) ->_R^Omega(1) p(minus(gen_0':s:p2_0(+(1, n667_0)))) ->_IH p(*3_0) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (26) Obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p Lemmas: +'(gen_0':s:p2_0(n4_0), gen_0':s:p2_0(b)) -> gen_0':s:p2_0(+(n4_0, b)), rt in Omega(1 + n4_0) minus(gen_0':s:p2_0(+(1, n667_0))) -> *3_0, rt in Omega(n667_0) Generator Equations: gen_0':s:p2_0(0) <=> 0' gen_0':s:p2_0(+(x, 1)) <=> s(gen_0':s:p2_0(x)) The following defined symbols remain to be analysed: *' ---------------------------------------- (27) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: *'(gen_0':s:p2_0(n1827_0), gen_0':s:p2_0(b)) -> gen_0':s:p2_0(*(n1827_0, b)), rt in Omega(1 + b*n1827_0^2 + n1827_0) Induction Base: *'(gen_0':s:p2_0(0), gen_0':s:p2_0(b)) ->_R^Omega(1) 0' Induction Step: *'(gen_0':s:p2_0(+(n1827_0, 1)), gen_0':s:p2_0(b)) ->_R^Omega(1) +'(*'(gen_0':s:p2_0(n1827_0), gen_0':s:p2_0(b)), gen_0':s:p2_0(b)) ->_IH +'(gen_0':s:p2_0(*(c1828_0, b)), gen_0':s:p2_0(b)) ->_L^Omega(1 + b*n1827_0) gen_0':s:p2_0(+(*(n1827_0, b), b)) We have rt in Omega(n^3) and sz in O(n). Thus, we have irc_R in Omega(n^3). ---------------------------------------- (28) Obligation: Proved the lower bound n^3 for the following obligation: Innermost TRS: Rules: +'(0', y) -> y +'(s(x), y) -> s(+'(x, y)) +'(p(x), y) -> p(+'(x, y)) minus(0') -> 0' minus(s(x)) -> p(minus(x)) minus(p(x)) -> s(minus(x)) *'(0', y) -> 0' *'(s(x), y) -> +'(*'(x, y), y) *'(p(x), y) -> +'(*'(x, y), minus(y)) Types: +' :: 0':s:p -> 0':s:p -> 0':s:p 0' :: 0':s:p s :: 0':s:p -> 0':s:p p :: 0':s:p -> 0':s:p minus :: 0':s:p -> 0':s:p *' :: 0':s:p -> 0':s:p -> 0':s:p hole_0':s:p1_0 :: 0':s:p gen_0':s:p2_0 :: Nat -> 0':s:p Lemmas: +'(gen_0':s:p2_0(n4_0), gen_0':s:p2_0(b)) -> gen_0':s:p2_0(+(n4_0, b)), rt in Omega(1 + n4_0) minus(gen_0':s:p2_0(+(1, n667_0))) -> *3_0, rt in Omega(n667_0) Generator Equations: gen_0':s:p2_0(0) <=> 0' gen_0':s:p2_0(+(x, 1)) <=> s(gen_0':s:p2_0(x)) The following defined symbols remain to be analysed: *' ---------------------------------------- (29) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (30) BOUNDS(n^3, INF)