4.03/1.94 WORST_CASE(Omega(n^1), O(n^1)) 4.03/1.96 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 4.03/1.96 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.03/1.96 4.03/1.96 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 4.03/1.96 4.03/1.96 (0) CpxTRS 4.03/1.96 (1) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] 4.03/1.96 (2) CpxTRS 4.03/1.96 (3) CpxTrsMatchBoundsTAProof [FINISHED, 154 ms] 4.03/1.96 (4) BOUNDS(1, n^1) 4.03/1.96 (5) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 4.03/1.96 (6) TRS for Loop Detection 4.03/1.96 (7) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 4.03/1.96 (8) BEST 4.03/1.96 (9) proven lower bound 4.03/1.96 (10) LowerBoundPropagationProof [FINISHED, 0 ms] 4.03/1.96 (11) BOUNDS(n^1, INF) 4.03/1.96 (12) TRS for Loop Detection 4.03/1.96 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (0) 4.03/1.96 Obligation: 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 4.03/1.96 4.03/1.96 4.03/1.96 The TRS R consists of the following rules: 4.03/1.96 4.03/1.96 f(0) -> cons(0, n__f(n__s(n__0))) 4.03/1.96 f(s(0)) -> f(p(s(0))) 4.03/1.96 p(s(X)) -> X 4.03/1.96 f(X) -> n__f(X) 4.03/1.96 s(X) -> n__s(X) 4.03/1.96 0 -> n__0 4.03/1.96 activate(n__f(X)) -> f(activate(X)) 4.03/1.96 activate(n__s(X)) -> s(activate(X)) 4.03/1.96 activate(n__0) -> 0 4.03/1.96 activate(X) -> X 4.03/1.96 4.03/1.96 S is empty. 4.03/1.96 Rewrite Strategy: FULL 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (1) RelTrsToTrsProof (UPPER BOUND(ID)) 4.03/1.96 transformed relative TRS to TRS 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (2) 4.03/1.96 Obligation: 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 4.03/1.96 4.03/1.96 4.03/1.96 The TRS R consists of the following rules: 4.03/1.96 4.03/1.96 f(0) -> cons(0, n__f(n__s(n__0))) 4.03/1.96 f(s(0)) -> f(p(s(0))) 4.03/1.96 p(s(X)) -> X 4.03/1.96 f(X) -> n__f(X) 4.03/1.96 s(X) -> n__s(X) 4.03/1.96 0 -> n__0 4.03/1.96 activate(n__f(X)) -> f(activate(X)) 4.03/1.96 activate(n__s(X)) -> s(activate(X)) 4.03/1.96 activate(n__0) -> 0 4.03/1.96 activate(X) -> X 4.03/1.96 4.03/1.96 S is empty. 4.03/1.96 Rewrite Strategy: FULL 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (3) CpxTrsMatchBoundsTAProof (FINISHED) 4.03/1.96 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 4. 4.03/1.96 4.03/1.96 The compatible tree automaton used to show the Match-Boundedness (for constructor-based start-terms) is represented by: 4.03/1.96 final states : [1, 2, 3, 4, 5] 4.03/1.96 transitions: 4.03/1.96 cons0(0, 0) -> 0 4.03/1.96 n__f0(0) -> 0 4.03/1.96 n__s0(0) -> 0 4.03/1.96 n__00() -> 0 4.03/1.96 f0(0) -> 1 4.03/1.96 p0(0) -> 2 4.03/1.96 s0(0) -> 3 4.03/1.96 00() -> 4 4.03/1.96 activate0(0) -> 5 4.03/1.96 n__f1(0) -> 1 4.03/1.96 n__s1(0) -> 3 4.03/1.96 n__01() -> 4 4.03/1.96 activate1(0) -> 6 4.03/1.96 f1(6) -> 5 4.03/1.96 activate1(0) -> 7 4.03/1.96 s1(7) -> 5 4.03/1.96 01() -> 5 4.03/1.96 n__f2(6) -> 5 4.03/1.96 n__s2(7) -> 5 4.03/1.96 n__02() -> 5 4.03/1.96 f1(6) -> 6 4.03/1.96 f1(6) -> 7 4.03/1.96 s1(7) -> 6 4.03/1.96 s1(7) -> 7 4.03/1.96 01() -> 6 4.03/1.96 01() -> 7 4.03/1.96 n__f2(6) -> 6 4.03/1.96 n__f2(6) -> 7 4.03/1.96 n__s2(7) -> 6 4.03/1.96 n__s2(7) -> 7 4.03/1.96 n__02() -> 6 4.03/1.96 n__02() -> 7 4.03/1.96 02() -> 8 4.03/1.96 n__02() -> 11 4.03/1.96 n__s2(11) -> 10 4.03/1.96 n__f2(10) -> 9 4.03/1.96 cons2(8, 9) -> 5 4.03/1.96 cons2(8, 9) -> 6 4.03/1.96 cons2(8, 9) -> 7 4.03/1.96 02() -> 14 4.03/1.96 s2(14) -> 13 4.03/1.96 p2(13) -> 12 4.03/1.96 f2(12) -> 5 4.03/1.96 f2(12) -> 6 4.03/1.96 f2(12) -> 7 4.03/1.96 n__f3(12) -> 5 4.03/1.96 n__f3(12) -> 6 4.03/1.96 n__f3(12) -> 7 4.03/1.96 n__s3(14) -> 13 4.03/1.96 n__03() -> 8 4.03/1.96 n__03() -> 14 4.03/1.96 03() -> 15 4.03/1.96 n__03() -> 18 4.03/1.96 n__s3(18) -> 17 4.03/1.96 n__f3(17) -> 16 4.03/1.96 cons3(15, 16) -> 5 4.03/1.96 cons3(15, 16) -> 6 4.03/1.96 cons3(15, 16) -> 7 4.03/1.96 n__04() -> 15 4.03/1.96 0 -> 5 4.03/1.96 0 -> 6 4.03/1.96 0 -> 7 4.03/1.96 14 -> 12 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (4) 4.03/1.96 BOUNDS(1, n^1) 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (5) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 4.03/1.96 Transformed a relative TRS into a decreasing-loop problem. 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (6) 4.03/1.96 Obligation: 4.03/1.96 Analyzing the following TRS for decreasing loops: 4.03/1.96 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 4.03/1.96 4.03/1.96 4.03/1.96 The TRS R consists of the following rules: 4.03/1.96 4.03/1.96 f(0) -> cons(0, n__f(n__s(n__0))) 4.03/1.96 f(s(0)) -> f(p(s(0))) 4.03/1.96 p(s(X)) -> X 4.03/1.96 f(X) -> n__f(X) 4.03/1.96 s(X) -> n__s(X) 4.03/1.96 0 -> n__0 4.03/1.96 activate(n__f(X)) -> f(activate(X)) 4.03/1.96 activate(n__s(X)) -> s(activate(X)) 4.03/1.96 activate(n__0) -> 0 4.03/1.96 activate(X) -> X 4.03/1.96 4.03/1.96 S is empty. 4.03/1.96 Rewrite Strategy: FULL 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (7) DecreasingLoopProof (LOWER BOUND(ID)) 4.03/1.96 The following loop(s) give(s) rise to the lower bound Omega(n^1): 4.03/1.96 4.03/1.96 The rewrite sequence 4.03/1.96 4.03/1.96 activate(n__f(X)) ->^+ f(activate(X)) 4.03/1.96 4.03/1.96 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 4.03/1.96 4.03/1.96 The pumping substitution is [X / n__f(X)]. 4.03/1.96 4.03/1.96 The result substitution is [ ]. 4.03/1.96 4.03/1.96 4.03/1.96 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (8) 4.03/1.96 Complex Obligation (BEST) 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (9) 4.03/1.96 Obligation: 4.03/1.96 Proved the lower bound n^1 for the following obligation: 4.03/1.96 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 4.03/1.96 4.03/1.96 4.03/1.96 The TRS R consists of the following rules: 4.03/1.96 4.03/1.96 f(0) -> cons(0, n__f(n__s(n__0))) 4.03/1.96 f(s(0)) -> f(p(s(0))) 4.03/1.96 p(s(X)) -> X 4.03/1.96 f(X) -> n__f(X) 4.03/1.96 s(X) -> n__s(X) 4.03/1.96 0 -> n__0 4.03/1.96 activate(n__f(X)) -> f(activate(X)) 4.03/1.96 activate(n__s(X)) -> s(activate(X)) 4.03/1.96 activate(n__0) -> 0 4.03/1.96 activate(X) -> X 4.03/1.96 4.03/1.96 S is empty. 4.03/1.96 Rewrite Strategy: FULL 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (10) LowerBoundPropagationProof (FINISHED) 4.03/1.96 Propagated lower bound. 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (11) 4.03/1.96 BOUNDS(n^1, INF) 4.03/1.96 4.03/1.96 ---------------------------------------- 4.03/1.96 4.03/1.96 (12) 4.03/1.96 Obligation: 4.03/1.96 Analyzing the following TRS for decreasing loops: 4.03/1.96 4.03/1.96 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 4.03/1.96 4.03/1.96 4.03/1.96 The TRS R consists of the following rules: 4.03/1.96 4.03/1.96 f(0) -> cons(0, n__f(n__s(n__0))) 4.03/1.96 f(s(0)) -> f(p(s(0))) 4.03/1.96 p(s(X)) -> X 4.03/1.96 f(X) -> n__f(X) 4.03/1.96 s(X) -> n__s(X) 4.03/1.96 0 -> n__0 4.03/1.96 activate(n__f(X)) -> f(activate(X)) 4.03/1.96 activate(n__s(X)) -> s(activate(X)) 4.03/1.96 activate(n__0) -> 0 4.03/1.96 activate(X) -> X 4.03/1.96 4.03/1.96 S is empty. 4.03/1.96 Rewrite Strategy: FULL 4.37/2.99 EOF