1102.25/292.07 WORST_CASE(Omega(n^1), ?) 1102.25/292.08 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 1102.25/292.08 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 1102.25/292.08 1102.25/292.08 1102.25/292.08 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1102.25/292.08 1102.25/292.08 (0) CpxTRS 1102.25/292.08 (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] 1102.25/292.08 (2) CpxTRS 1102.25/292.08 (3) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 1102.25/292.08 (4) typed CpxTrs 1102.25/292.08 (5) OrderProof [LOWER BOUND(ID), 0 ms] 1102.25/292.08 (6) typed CpxTrs 1102.25/292.08 (7) RewriteLemmaProof [LOWER BOUND(ID), 523 ms] 1102.25/292.08 (8) BEST 1102.25/292.08 (9) proven lower bound 1102.25/292.08 (10) LowerBoundPropagationProof [FINISHED, 0 ms] 1102.25/292.08 (11) BOUNDS(n^1, INF) 1102.25/292.08 (12) typed CpxTrs 1102.25/292.08 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (0) 1102.25/292.08 Obligation: 1102.25/292.08 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1102.25/292.08 1102.25/292.08 1102.25/292.08 The TRS R consists of the following rules: 1102.25/292.08 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+(x, y)) -> *(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*(x, y)) -> +(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 S is empty. 1102.25/292.08 Rewrite Strategy: FULL 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (1) RenamingProof (BOTH BOUNDS(ID, ID)) 1102.25/292.08 Renamed function symbols to avoid clashes with predefined symbol. 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (2) 1102.25/292.08 Obligation: 1102.25/292.08 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1102.25/292.08 1102.25/292.08 1102.25/292.08 The TRS R consists of the following rules: 1102.25/292.08 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+'(x, y)) -> *'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*'(x, y)) -> +'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 S is empty. 1102.25/292.08 Rewrite Strategy: FULL 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (3) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 1102.25/292.08 Infered types. 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (4) 1102.25/292.08 Obligation: 1102.25/292.08 TRS: 1102.25/292.08 Rules: 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+'(x, y)) -> *'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*'(x, y)) -> +'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 Types: 1102.25/292.08 minus :: +':*' -> +':*' 1102.25/292.08 +' :: +':*' -> +':*' -> +':*' 1102.25/292.08 *' :: +':*' -> +':*' -> +':*' 1102.25/292.08 f :: +':*' -> +':*' 1102.25/292.08 hole_+':*'1_0 :: +':*' 1102.25/292.08 gen_+':*'2_0 :: Nat -> +':*' 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (5) OrderProof (LOWER BOUND(ID)) 1102.25/292.08 Heuristically decided to analyse the following defined symbols: 1102.25/292.08 minus, f 1102.25/292.08 1102.25/292.08 They will be analysed ascendingly in the following order: 1102.25/292.08 minus < f 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (6) 1102.25/292.08 Obligation: 1102.25/292.08 TRS: 1102.25/292.08 Rules: 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+'(x, y)) -> *'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*'(x, y)) -> +'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 Types: 1102.25/292.08 minus :: +':*' -> +':*' 1102.25/292.08 +' :: +':*' -> +':*' -> +':*' 1102.25/292.08 *' :: +':*' -> +':*' -> +':*' 1102.25/292.08 f :: +':*' -> +':*' 1102.25/292.08 hole_+':*'1_0 :: +':*' 1102.25/292.08 gen_+':*'2_0 :: Nat -> +':*' 1102.25/292.08 1102.25/292.08 1102.25/292.08 Generator Equations: 1102.25/292.08 gen_+':*'2_0(0) <=> hole_+':*'1_0 1102.25/292.08 gen_+':*'2_0(+(x, 1)) <=> +'(hole_+':*'1_0, gen_+':*'2_0(x)) 1102.25/292.08 1102.25/292.08 1102.25/292.08 The following defined symbols remain to be analysed: 1102.25/292.08 minus, f 1102.25/292.08 1102.25/292.08 They will be analysed ascendingly in the following order: 1102.25/292.08 minus < f 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (7) RewriteLemmaProof (LOWER BOUND(ID)) 1102.25/292.08 Proved the following rewrite lemma: 1102.25/292.08 minus(gen_+':*'2_0(n4_0)) -> *3_0, rt in Omega(n4_0) 1102.25/292.08 1102.25/292.08 Induction Base: 1102.25/292.08 minus(gen_+':*'2_0(0)) 1102.25/292.08 1102.25/292.08 Induction Step: 1102.25/292.08 minus(gen_+':*'2_0(+(n4_0, 1))) ->_R^Omega(1) 1102.25/292.08 *'(minus(minus(minus(hole_+':*'1_0))), minus(minus(minus(gen_+':*'2_0(n4_0))))) ->_R^Omega(1) 1102.25/292.08 *'(minus(hole_+':*'1_0), minus(minus(minus(gen_+':*'2_0(n4_0))))) ->_IH 1102.25/292.08 *'(minus(hole_+':*'1_0), minus(minus(*3_0))) 1102.25/292.08 1102.25/292.08 We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (8) 1102.25/292.08 Complex Obligation (BEST) 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (9) 1102.25/292.08 Obligation: 1102.25/292.08 Proved the lower bound n^1 for the following obligation: 1102.25/292.08 1102.25/292.08 TRS: 1102.25/292.08 Rules: 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+'(x, y)) -> *'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*'(x, y)) -> +'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 Types: 1102.25/292.08 minus :: +':*' -> +':*' 1102.25/292.08 +' :: +':*' -> +':*' -> +':*' 1102.25/292.08 *' :: +':*' -> +':*' -> +':*' 1102.25/292.08 f :: +':*' -> +':*' 1102.25/292.08 hole_+':*'1_0 :: +':*' 1102.25/292.08 gen_+':*'2_0 :: Nat -> +':*' 1102.25/292.08 1102.25/292.08 1102.25/292.08 Generator Equations: 1102.25/292.08 gen_+':*'2_0(0) <=> hole_+':*'1_0 1102.25/292.08 gen_+':*'2_0(+(x, 1)) <=> +'(hole_+':*'1_0, gen_+':*'2_0(x)) 1102.25/292.08 1102.25/292.08 1102.25/292.08 The following defined symbols remain to be analysed: 1102.25/292.08 minus, f 1102.25/292.08 1102.25/292.08 They will be analysed ascendingly in the following order: 1102.25/292.08 minus < f 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (10) LowerBoundPropagationProof (FINISHED) 1102.25/292.08 Propagated lower bound. 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (11) 1102.25/292.08 BOUNDS(n^1, INF) 1102.25/292.08 1102.25/292.08 ---------------------------------------- 1102.25/292.08 1102.25/292.08 (12) 1102.25/292.08 Obligation: 1102.25/292.08 TRS: 1102.25/292.08 Rules: 1102.25/292.08 minus(minus(x)) -> x 1102.25/292.08 minus(+'(x, y)) -> *'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 minus(*'(x, y)) -> +'(minus(minus(minus(x))), minus(minus(minus(y)))) 1102.25/292.08 f(minus(x)) -> minus(minus(minus(f(x)))) 1102.25/292.08 1102.25/292.08 Types: 1102.25/292.08 minus :: +':*' -> +':*' 1102.25/292.08 +' :: +':*' -> +':*' -> +':*' 1102.25/292.08 *' :: +':*' -> +':*' -> +':*' 1102.25/292.08 f :: +':*' -> +':*' 1102.25/292.08 hole_+':*'1_0 :: +':*' 1102.25/292.08 gen_+':*'2_0 :: Nat -> +':*' 1102.25/292.08 1102.25/292.08 1102.25/292.08 Lemmas: 1102.25/292.08 minus(gen_+':*'2_0(n4_0)) -> *3_0, rt in Omega(n4_0) 1102.25/292.08 1102.25/292.08 1102.25/292.08 Generator Equations: 1102.25/292.08 gen_+':*'2_0(0) <=> hole_+':*'1_0 1102.25/292.08 gen_+':*'2_0(+(x, 1)) <=> +'(hole_+':*'1_0, gen_+':*'2_0(x)) 1102.25/292.08 1102.25/292.08 1102.25/292.08 The following defined symbols remain to be analysed: 1102.25/292.08 f 1102.87/292.25 EOF