16.22/5.23 WORST_CASE(Omega(n^1), O(n^1)) 16.22/5.24 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 16.22/5.24 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 16.22/5.24 16.22/5.24 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 16.22/5.24 16.22/5.24 (0) CpxTRS 16.22/5.24 (1) NestedDefinedSymbolProof [UPPER BOUND(ID), 0 ms] 16.22/5.24 (2) CpxTRS 16.22/5.24 (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] 16.22/5.24 (4) CpxTRS 16.22/5.24 (5) CpxTrsMatchBoundsTAProof [FINISHED, 18 ms] 16.22/5.24 (6) BOUNDS(1, n^1) 16.22/5.24 (7) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 16.22/5.24 (8) TRS for Loop Detection 16.22/5.24 (9) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 16.22/5.24 (10) BEST 16.22/5.24 (11) proven lower bound 16.22/5.24 (12) LowerBoundPropagationProof [FINISHED, 0 ms] 16.22/5.24 (13) BOUNDS(n^1, INF) 16.22/5.24 (14) TRS for Loop Detection 16.22/5.24 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (0) 16.22/5.24 Obligation: 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 a(a(f(x, y))) -> f(a(b(a(b(a(x))))), a(b(a(b(a(y)))))) 16.22/5.24 f(a(x), a(y)) -> a(f(x, y)) 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (1) NestedDefinedSymbolProof (UPPER BOUND(ID)) 16.22/5.24 The TRS does not nest defined symbols. 16.22/5.24 Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: 16.22/5.24 a(a(f(x, y))) -> f(a(b(a(b(a(x))))), a(b(a(b(a(y)))))) 16.22/5.24 f(a(x), a(y)) -> a(f(x, y)) 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (2) 16.22/5.24 Obligation: 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (3) RelTrsToTrsProof (UPPER BOUND(ID)) 16.22/5.24 transformed relative TRS to TRS 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (4) 16.22/5.24 Obligation: 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (5) CpxTrsMatchBoundsTAProof (FINISHED) 16.22/5.24 A linear upper bound on the runtime complexity of the TRS R could be shown with a Match-Bound[TAB_LEFTLINEAR,TAB_NONLEFTLINEAR] (for contructor-based start-terms) of 1. 16.22/5.24 16.22/5.24 The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by: 16.22/5.24 final states : [1] 16.22/5.24 transitions: 16.22/5.24 b0(0) -> 0 16.22/5.24 f0(0, 0) -> 1 16.22/5.24 f1(0, 0) -> 2 16.22/5.24 b1(2) -> 1 16.22/5.24 b1(2) -> 2 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (6) 16.22/5.24 BOUNDS(1, n^1) 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (7) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 16.22/5.24 Transformed a relative TRS into a decreasing-loop problem. 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (8) 16.22/5.24 Obligation: 16.22/5.24 Analyzing the following TRS for decreasing loops: 16.22/5.24 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 a(a(f(x, y))) -> f(a(b(a(b(a(x))))), a(b(a(b(a(y)))))) 16.22/5.24 f(a(x), a(y)) -> a(f(x, y)) 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (9) DecreasingLoopProof (LOWER BOUND(ID)) 16.22/5.24 The following loop(s) give(s) rise to the lower bound Omega(n^1): 16.22/5.24 16.22/5.24 The rewrite sequence 16.22/5.24 16.22/5.24 f(b(x), b(y)) ->^+ b(f(x, y)) 16.22/5.24 16.22/5.24 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 16.22/5.24 16.22/5.24 The pumping substitution is [x / b(x), y / b(y)]. 16.22/5.24 16.22/5.24 The result substitution is [ ]. 16.22/5.24 16.22/5.24 16.22/5.24 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (10) 16.22/5.24 Complex Obligation (BEST) 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (11) 16.22/5.24 Obligation: 16.22/5.24 Proved the lower bound n^1 for the following obligation: 16.22/5.24 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 a(a(f(x, y))) -> f(a(b(a(b(a(x))))), a(b(a(b(a(y)))))) 16.22/5.24 f(a(x), a(y)) -> a(f(x, y)) 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (12) LowerBoundPropagationProof (FINISHED) 16.22/5.24 Propagated lower bound. 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (13) 16.22/5.24 BOUNDS(n^1, INF) 16.22/5.24 16.22/5.24 ---------------------------------------- 16.22/5.24 16.22/5.24 (14) 16.22/5.24 Obligation: 16.22/5.24 Analyzing the following TRS for decreasing loops: 16.22/5.24 16.22/5.24 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 16.22/5.24 16.22/5.24 16.22/5.24 The TRS R consists of the following rules: 16.22/5.24 16.22/5.24 a(a(f(x, y))) -> f(a(b(a(b(a(x))))), a(b(a(b(a(y)))))) 16.22/5.24 f(a(x), a(y)) -> a(f(x, y)) 16.22/5.24 f(b(x), b(y)) -> b(f(x, y)) 16.22/5.24 16.22/5.24 S is empty. 16.22/5.24 Rewrite Strategy: FULL 16.34/5.28 EOF