311.84/291.53 WORST_CASE(Omega(n^2), ?) 311.84/291.54 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 311.84/291.54 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 311.84/291.54 311.84/291.54 311.84/291.54 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^2, INF). 311.84/291.54 311.84/291.54 (0) CpxTRS 311.84/291.54 (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] 311.84/291.54 (2) CpxTRS 311.84/291.54 (3) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 311.84/291.54 (4) typed CpxTrs 311.84/291.54 (5) OrderProof [LOWER BOUND(ID), 0 ms] 311.84/291.54 (6) typed CpxTrs 311.84/291.54 (7) RewriteLemmaProof [LOWER BOUND(ID), 295 ms] 311.84/291.54 (8) BEST 311.84/291.54 (9) proven lower bound 311.84/291.54 (10) LowerBoundPropagationProof [FINISHED, 0 ms] 311.84/291.54 (11) BOUNDS(n^1, INF) 311.84/291.54 (12) typed CpxTrs 311.84/291.54 (13) RewriteLemmaProof [LOWER BOUND(ID), 73 ms] 311.84/291.54 (14) BEST 311.84/291.54 (15) proven lower bound 311.84/291.54 (16) LowerBoundPropagationProof [FINISHED, 0 ms] 311.84/291.54 (17) BOUNDS(n^2, INF) 311.84/291.54 (18) typed CpxTrs 311.84/291.54 (19) RewriteLemmaProof [LOWER BOUND(ID), 65 ms] 311.84/291.54 (20) typed CpxTrs 311.84/291.54 (21) RewriteLemmaProof [LOWER BOUND(ID), 27 ms] 311.84/291.54 (22) typed CpxTrs 311.84/291.54 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (0) 311.84/291.54 Obligation: 311.84/291.54 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^2, INF). 311.84/291.54 311.84/291.54 311.84/291.54 The TRS R consists of the following rules: 311.84/291.54 311.84/291.54 +(0, y) -> y 311.84/291.54 +(s(x), y) -> s(+(x, y)) 311.84/291.54 *(x, 0) -> 0 311.84/291.54 *(x, s(y)) -> +(x, *(x, y)) 311.84/291.54 twice(0) -> 0 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0) -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*(s(s(x)), s(s(x))), +(*(s(x), s(s(x))), s(s(0))))) 311.84/291.54 311.84/291.54 S is empty. 311.84/291.54 Rewrite Strategy: FULL 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (1) RenamingProof (BOTH BOUNDS(ID, ID)) 311.84/291.54 Renamed function symbols to avoid clashes with predefined symbol. 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (2) 311.84/291.54 Obligation: 311.84/291.54 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^2, INF). 311.84/291.54 311.84/291.54 311.84/291.54 The TRS R consists of the following rules: 311.84/291.54 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 S is empty. 311.84/291.54 Rewrite Strategy: FULL 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (3) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 311.84/291.54 Infered types. 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (4) 311.84/291.54 Obligation: 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 Types: 311.84/291.54 +' :: 0':s -> 0':s -> 0':s 311.84/291.54 0' :: 0':s 311.84/291.54 s :: 0':s -> 0':s 311.84/291.54 *' :: 0':s -> 0':s -> 0':s 311.84/291.54 twice :: 0':s -> 0':s 311.84/291.54 - :: 0':s -> 0':s -> 0':s 311.84/291.54 f :: 0':s -> f 311.84/291.54 hole_0':s1_0 :: 0':s 311.84/291.54 hole_f2_0 :: f 311.84/291.54 gen_0':s3_0 :: Nat -> 0':s 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (5) OrderProof (LOWER BOUND(ID)) 311.84/291.54 Heuristically decided to analyse the following defined symbols: 311.84/291.54 +', *', twice, -, f 311.84/291.54 311.84/291.54 They will be analysed ascendingly in the following order: 311.84/291.54 +' < *' 311.84/291.54 +' < f 311.84/291.54 *' < f 311.84/291.54 - < f 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (6) 311.84/291.54 Obligation: 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 Types: 311.84/291.54 +' :: 0':s -> 0':s -> 0':s 311.84/291.54 0' :: 0':s 311.84/291.54 s :: 0':s -> 0':s 311.84/291.54 *' :: 0':s -> 0':s -> 0':s 311.84/291.54 twice :: 0':s -> 0':s 311.84/291.54 - :: 0':s -> 0':s -> 0':s 311.84/291.54 f :: 0':s -> f 311.84/291.54 hole_0':s1_0 :: 0':s 311.84/291.54 hole_f2_0 :: f 311.84/291.54 gen_0':s3_0 :: Nat -> 0':s 311.84/291.54 311.84/291.54 311.84/291.54 Generator Equations: 311.84/291.54 gen_0':s3_0(0) <=> 0' 311.84/291.54 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.54 311.84/291.54 311.84/291.54 The following defined symbols remain to be analysed: 311.84/291.54 +', *', twice, -, f 311.84/291.54 311.84/291.54 They will be analysed ascendingly in the following order: 311.84/291.54 +' < *' 311.84/291.54 +' < f 311.84/291.54 *' < f 311.84/291.54 - < f 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (7) RewriteLemmaProof (LOWER BOUND(ID)) 311.84/291.54 Proved the following rewrite lemma: 311.84/291.54 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.54 311.84/291.54 Induction Base: 311.84/291.54 +'(gen_0':s3_0(0), gen_0':s3_0(b)) ->_R^Omega(1) 311.84/291.54 gen_0':s3_0(b) 311.84/291.54 311.84/291.54 Induction Step: 311.84/291.54 +'(gen_0':s3_0(+(n5_0, 1)), gen_0':s3_0(b)) ->_R^Omega(1) 311.84/291.54 s(+'(gen_0':s3_0(n5_0), gen_0':s3_0(b))) ->_IH 311.84/291.54 s(gen_0':s3_0(+(b, c6_0))) 311.84/291.54 311.84/291.54 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (8) 311.84/291.54 Complex Obligation (BEST) 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (9) 311.84/291.54 Obligation: 311.84/291.54 Proved the lower bound n^1 for the following obligation: 311.84/291.54 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 Types: 311.84/291.54 +' :: 0':s -> 0':s -> 0':s 311.84/291.54 0' :: 0':s 311.84/291.54 s :: 0':s -> 0':s 311.84/291.54 *' :: 0':s -> 0':s -> 0':s 311.84/291.54 twice :: 0':s -> 0':s 311.84/291.54 - :: 0':s -> 0':s -> 0':s 311.84/291.54 f :: 0':s -> f 311.84/291.54 hole_0':s1_0 :: 0':s 311.84/291.54 hole_f2_0 :: f 311.84/291.54 gen_0':s3_0 :: Nat -> 0':s 311.84/291.54 311.84/291.54 311.84/291.54 Generator Equations: 311.84/291.54 gen_0':s3_0(0) <=> 0' 311.84/291.54 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.54 311.84/291.54 311.84/291.54 The following defined symbols remain to be analysed: 311.84/291.54 +', *', twice, -, f 311.84/291.54 311.84/291.54 They will be analysed ascendingly in the following order: 311.84/291.54 +' < *' 311.84/291.54 +' < f 311.84/291.54 *' < f 311.84/291.54 - < f 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (10) LowerBoundPropagationProof (FINISHED) 311.84/291.54 Propagated lower bound. 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (11) 311.84/291.54 BOUNDS(n^1, INF) 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (12) 311.84/291.54 Obligation: 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 Types: 311.84/291.54 +' :: 0':s -> 0':s -> 0':s 311.84/291.54 0' :: 0':s 311.84/291.54 s :: 0':s -> 0':s 311.84/291.54 *' :: 0':s -> 0':s -> 0':s 311.84/291.54 twice :: 0':s -> 0':s 311.84/291.54 - :: 0':s -> 0':s -> 0':s 311.84/291.54 f :: 0':s -> f 311.84/291.54 hole_0':s1_0 :: 0':s 311.84/291.54 hole_f2_0 :: f 311.84/291.54 gen_0':s3_0 :: Nat -> 0':s 311.84/291.54 311.84/291.54 311.84/291.54 Lemmas: 311.84/291.54 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.54 311.84/291.54 311.84/291.54 Generator Equations: 311.84/291.54 gen_0':s3_0(0) <=> 0' 311.84/291.54 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.54 311.84/291.54 311.84/291.54 The following defined symbols remain to be analysed: 311.84/291.54 *', twice, -, f 311.84/291.54 311.84/291.54 They will be analysed ascendingly in the following order: 311.84/291.54 *' < f 311.84/291.54 - < f 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (13) RewriteLemmaProof (LOWER BOUND(ID)) 311.84/291.54 Proved the following rewrite lemma: 311.84/291.54 *'(gen_0':s3_0(a), gen_0':s3_0(n494_0)) -> gen_0':s3_0(*(n494_0, a)), rt in Omega(1 + a*n494_0 + n494_0) 311.84/291.54 311.84/291.54 Induction Base: 311.84/291.54 *'(gen_0':s3_0(a), gen_0':s3_0(0)) ->_R^Omega(1) 311.84/291.54 0' 311.84/291.54 311.84/291.54 Induction Step: 311.84/291.54 *'(gen_0':s3_0(a), gen_0':s3_0(+(n494_0, 1))) ->_R^Omega(1) 311.84/291.54 +'(gen_0':s3_0(a), *'(gen_0':s3_0(a), gen_0':s3_0(n494_0))) ->_IH 311.84/291.54 +'(gen_0':s3_0(a), gen_0':s3_0(*(c495_0, a))) ->_L^Omega(1 + a) 311.84/291.54 gen_0':s3_0(+(a, *(n494_0, a))) 311.84/291.54 311.84/291.54 We have rt in Omega(n^2) and sz in O(n). Thus, we have irc_R in Omega(n^2). 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (14) 311.84/291.54 Complex Obligation (BEST) 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (15) 311.84/291.54 Obligation: 311.84/291.54 Proved the lower bound n^2 for the following obligation: 311.84/291.54 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.54 +'(s(x), y) -> s(+'(x, y)) 311.84/291.54 *'(x, 0') -> 0' 311.84/291.54 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.54 twice(0') -> 0' 311.84/291.54 twice(s(x)) -> s(s(twice(x))) 311.84/291.54 -(x, 0') -> x 311.84/291.54 -(s(x), s(y)) -> -(x, y) 311.84/291.54 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.54 311.84/291.54 Types: 311.84/291.54 +' :: 0':s -> 0':s -> 0':s 311.84/291.54 0' :: 0':s 311.84/291.54 s :: 0':s -> 0':s 311.84/291.54 *' :: 0':s -> 0':s -> 0':s 311.84/291.54 twice :: 0':s -> 0':s 311.84/291.54 - :: 0':s -> 0':s -> 0':s 311.84/291.54 f :: 0':s -> f 311.84/291.54 hole_0':s1_0 :: 0':s 311.84/291.54 hole_f2_0 :: f 311.84/291.54 gen_0':s3_0 :: Nat -> 0':s 311.84/291.54 311.84/291.54 311.84/291.54 Lemmas: 311.84/291.54 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.54 311.84/291.54 311.84/291.54 Generator Equations: 311.84/291.54 gen_0':s3_0(0) <=> 0' 311.84/291.54 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.54 311.84/291.54 311.84/291.54 The following defined symbols remain to be analysed: 311.84/291.54 *', twice, -, f 311.84/291.54 311.84/291.54 They will be analysed ascendingly in the following order: 311.84/291.54 *' < f 311.84/291.54 - < f 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (16) LowerBoundPropagationProof (FINISHED) 311.84/291.54 Propagated lower bound. 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (17) 311.84/291.54 BOUNDS(n^2, INF) 311.84/291.54 311.84/291.54 ---------------------------------------- 311.84/291.54 311.84/291.54 (18) 311.84/291.54 Obligation: 311.84/291.54 TRS: 311.84/291.54 Rules: 311.84/291.54 +'(0', y) -> y 311.84/291.55 +'(s(x), y) -> s(+'(x, y)) 311.84/291.55 *'(x, 0') -> 0' 311.84/291.55 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.55 twice(0') -> 0' 311.84/291.55 twice(s(x)) -> s(s(twice(x))) 311.84/291.55 -(x, 0') -> x 311.84/291.55 -(s(x), s(y)) -> -(x, y) 311.84/291.55 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.55 311.84/291.55 Types: 311.84/291.55 +' :: 0':s -> 0':s -> 0':s 311.84/291.55 0' :: 0':s 311.84/291.55 s :: 0':s -> 0':s 311.84/291.55 *' :: 0':s -> 0':s -> 0':s 311.84/291.55 twice :: 0':s -> 0':s 311.84/291.55 - :: 0':s -> 0':s -> 0':s 311.84/291.55 f :: 0':s -> f 311.84/291.55 hole_0':s1_0 :: 0':s 311.84/291.55 hole_f2_0 :: f 311.84/291.55 gen_0':s3_0 :: Nat -> 0':s 311.84/291.55 311.84/291.55 311.84/291.55 Lemmas: 311.84/291.55 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.55 *'(gen_0':s3_0(a), gen_0':s3_0(n494_0)) -> gen_0':s3_0(*(n494_0, a)), rt in Omega(1 + a*n494_0 + n494_0) 311.84/291.55 311.84/291.55 311.84/291.55 Generator Equations: 311.84/291.55 gen_0':s3_0(0) <=> 0' 311.84/291.55 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.55 311.84/291.55 311.84/291.55 The following defined symbols remain to be analysed: 311.84/291.55 twice, -, f 311.84/291.55 311.84/291.55 They will be analysed ascendingly in the following order: 311.84/291.55 - < f 311.84/291.55 311.84/291.55 ---------------------------------------- 311.84/291.55 311.84/291.55 (19) RewriteLemmaProof (LOWER BOUND(ID)) 311.84/291.55 Proved the following rewrite lemma: 311.84/291.55 twice(gen_0':s3_0(n1110_0)) -> gen_0':s3_0(*(2, n1110_0)), rt in Omega(1 + n1110_0) 311.84/291.55 311.84/291.55 Induction Base: 311.84/291.55 twice(gen_0':s3_0(0)) ->_R^Omega(1) 311.84/291.55 0' 311.84/291.55 311.84/291.55 Induction Step: 311.84/291.55 twice(gen_0':s3_0(+(n1110_0, 1))) ->_R^Omega(1) 311.84/291.55 s(s(twice(gen_0':s3_0(n1110_0)))) ->_IH 311.84/291.55 s(s(gen_0':s3_0(*(2, c1111_0)))) 311.84/291.55 311.84/291.55 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). 311.84/291.55 ---------------------------------------- 311.84/291.55 311.84/291.55 (20) 311.84/291.55 Obligation: 311.84/291.55 TRS: 311.84/291.55 Rules: 311.84/291.55 +'(0', y) -> y 311.84/291.55 +'(s(x), y) -> s(+'(x, y)) 311.84/291.55 *'(x, 0') -> 0' 311.84/291.55 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.55 twice(0') -> 0' 311.84/291.55 twice(s(x)) -> s(s(twice(x))) 311.84/291.55 -(x, 0') -> x 311.84/291.55 -(s(x), s(y)) -> -(x, y) 311.84/291.55 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.55 311.84/291.55 Types: 311.84/291.55 +' :: 0':s -> 0':s -> 0':s 311.84/291.55 0' :: 0':s 311.84/291.55 s :: 0':s -> 0':s 311.84/291.55 *' :: 0':s -> 0':s -> 0':s 311.84/291.55 twice :: 0':s -> 0':s 311.84/291.55 - :: 0':s -> 0':s -> 0':s 311.84/291.55 f :: 0':s -> f 311.84/291.55 hole_0':s1_0 :: 0':s 311.84/291.55 hole_f2_0 :: f 311.84/291.55 gen_0':s3_0 :: Nat -> 0':s 311.84/291.55 311.84/291.55 311.84/291.55 Lemmas: 311.84/291.55 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.55 *'(gen_0':s3_0(a), gen_0':s3_0(n494_0)) -> gen_0':s3_0(*(n494_0, a)), rt in Omega(1 + a*n494_0 + n494_0) 311.84/291.55 twice(gen_0':s3_0(n1110_0)) -> gen_0':s3_0(*(2, n1110_0)), rt in Omega(1 + n1110_0) 311.84/291.55 311.84/291.55 311.84/291.55 Generator Equations: 311.84/291.55 gen_0':s3_0(0) <=> 0' 311.84/291.55 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.55 311.84/291.55 311.84/291.55 The following defined symbols remain to be analysed: 311.84/291.55 -, f 311.84/291.55 311.84/291.55 They will be analysed ascendingly in the following order: 311.84/291.55 - < f 311.84/291.55 311.84/291.55 ---------------------------------------- 311.84/291.55 311.84/291.55 (21) RewriteLemmaProof (LOWER BOUND(ID)) 311.84/291.55 Proved the following rewrite lemma: 311.84/291.55 -(gen_0':s3_0(n1358_0), gen_0':s3_0(n1358_0)) -> gen_0':s3_0(0), rt in Omega(1 + n1358_0) 311.84/291.55 311.84/291.55 Induction Base: 311.84/291.55 -(gen_0':s3_0(0), gen_0':s3_0(0)) ->_R^Omega(1) 311.84/291.55 gen_0':s3_0(0) 311.84/291.55 311.84/291.55 Induction Step: 311.84/291.55 -(gen_0':s3_0(+(n1358_0, 1)), gen_0':s3_0(+(n1358_0, 1))) ->_R^Omega(1) 311.84/291.55 -(gen_0':s3_0(n1358_0), gen_0':s3_0(n1358_0)) ->_IH 311.84/291.55 gen_0':s3_0(0) 311.84/291.55 311.84/291.55 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). 311.84/291.55 ---------------------------------------- 311.84/291.55 311.84/291.55 (22) 311.84/291.55 Obligation: 311.84/291.55 TRS: 311.84/291.55 Rules: 311.84/291.55 +'(0', y) -> y 311.84/291.55 +'(s(x), y) -> s(+'(x, y)) 311.84/291.55 *'(x, 0') -> 0' 311.84/291.55 *'(x, s(y)) -> +'(x, *'(x, y)) 311.84/291.55 twice(0') -> 0' 311.84/291.55 twice(s(x)) -> s(s(twice(x))) 311.84/291.55 -(x, 0') -> x 311.84/291.55 -(s(x), s(y)) -> -(x, y) 311.84/291.55 f(s(x)) -> f(-(*'(s(s(x)), s(s(x))), +'(*'(s(x), s(s(x))), s(s(0'))))) 311.84/291.55 311.84/291.55 Types: 311.84/291.55 +' :: 0':s -> 0':s -> 0':s 311.84/291.55 0' :: 0':s 311.84/291.55 s :: 0':s -> 0':s 311.84/291.55 *' :: 0':s -> 0':s -> 0':s 311.84/291.55 twice :: 0':s -> 0':s 311.84/291.55 - :: 0':s -> 0':s -> 0':s 311.84/291.55 f :: 0':s -> f 311.84/291.55 hole_0':s1_0 :: 0':s 311.84/291.55 hole_f2_0 :: f 311.84/291.55 gen_0':s3_0 :: Nat -> 0':s 311.84/291.55 311.84/291.55 311.84/291.55 Lemmas: 311.84/291.55 +'(gen_0':s3_0(n5_0), gen_0':s3_0(b)) -> gen_0':s3_0(+(n5_0, b)), rt in Omega(1 + n5_0) 311.84/291.55 *'(gen_0':s3_0(a), gen_0':s3_0(n494_0)) -> gen_0':s3_0(*(n494_0, a)), rt in Omega(1 + a*n494_0 + n494_0) 311.84/291.55 twice(gen_0':s3_0(n1110_0)) -> gen_0':s3_0(*(2, n1110_0)), rt in Omega(1 + n1110_0) 311.84/291.55 -(gen_0':s3_0(n1358_0), gen_0':s3_0(n1358_0)) -> gen_0':s3_0(0), rt in Omega(1 + n1358_0) 311.84/291.55 311.84/291.55 311.84/291.55 Generator Equations: 311.84/291.55 gen_0':s3_0(0) <=> 0' 311.84/291.55 gen_0':s3_0(+(x, 1)) <=> s(gen_0':s3_0(x)) 311.84/291.55 311.84/291.55 311.84/291.55 The following defined symbols remain to be analysed: 311.84/291.55 f 311.93/291.59 EOF