19.19/6.66 WORST_CASE(Omega(n^1), O(n^1)) 19.19/6.67 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 19.19/6.67 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 19.19/6.67 19.19/6.67 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 19.19/6.67 19.19/6.67 (0) CpxTRS 19.19/6.67 (1) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] 19.19/6.67 (2) CpxTRS 19.19/6.67 (3) CpxTrsMatchBoundsProof [FINISHED, 0 ms] 19.19/6.67 (4) BOUNDS(1, n^1) 19.19/6.67 (5) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 19.19/6.67 (6) TRS for Loop Detection 19.19/6.67 (7) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 19.19/6.67 (8) BEST 19.19/6.67 (9) proven lower bound 19.19/6.67 (10) LowerBoundPropagationProof [FINISHED, 0 ms] 19.19/6.67 (11) BOUNDS(n^1, INF) 19.19/6.67 (12) TRS for Loop Detection 19.19/6.67 19.19/6.67 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (0) 19.19/6.67 Obligation: 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 19.19/6.67 19.19/6.67 19.19/6.67 The TRS R consists of the following rules: 19.19/6.67 19.19/6.67 f(n__f(n__a)) -> f(n__g(n__f(n__a))) 19.19/6.67 f(X) -> n__f(X) 19.19/6.67 a -> n__a 19.19/6.67 g(X) -> n__g(X) 19.19/6.67 activate(n__f(X)) -> f(X) 19.19/6.67 activate(n__a) -> a 19.19/6.67 activate(n__g(X)) -> g(activate(X)) 19.19/6.67 activate(X) -> X 19.19/6.67 19.19/6.67 S is empty. 19.19/6.67 Rewrite Strategy: FULL 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (1) RelTrsToTrsProof (UPPER BOUND(ID)) 19.19/6.67 transformed relative TRS to TRS 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (2) 19.19/6.67 Obligation: 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 19.19/6.67 19.19/6.67 19.19/6.67 The TRS R consists of the following rules: 19.19/6.67 19.19/6.67 f(n__f(n__a)) -> f(n__g(n__f(n__a))) 19.19/6.67 f(X) -> n__f(X) 19.19/6.67 a -> n__a 19.19/6.67 g(X) -> n__g(X) 19.19/6.67 activate(n__f(X)) -> f(X) 19.19/6.67 activate(n__a) -> a 19.19/6.67 activate(n__g(X)) -> g(activate(X)) 19.19/6.67 activate(X) -> X 19.19/6.67 19.19/6.67 S is empty. 19.19/6.67 Rewrite Strategy: FULL 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (3) CpxTrsMatchBoundsProof (FINISHED) 19.19/6.67 A linear upper bound on the runtime complexity of the TRS R could be shown with a Match Bound [MATCHBOUNDS1,MATCHBOUNDS2] of 2. 19.19/6.67 The certificate found is represented by the following graph. 19.19/6.67 19.19/6.67 "[1, 2, 7, 8, 9, 10] 19.19/6.67 {(1,2,[f_1|0, a|0, g_1|0, activate_1|0, n__f_1|1, n__a|1, n__g_1|1, f_1|1, a|1, n__f_1|2, n__a|2]), (1,7,[f_1|1, n__f_1|2]), (1,10,[g_1|1, n__g_1|2]), (2,2,[n__f_1|0, n__a|0, n__g_1|0]), (7,8,[n__g_1|1]), (8,9,[n__f_1|1]), (9,2,[n__a|1]), (10,2,[activate_1|1, f_1|1, n__f_1|1, a|1, n__a|1, n__g_1|1, n__f_1|2, n__a|2]), (10,10,[g_1|1, n__g_1|2]), (10,7,[f_1|1, n__f_1|2])}" 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (4) 19.19/6.67 BOUNDS(1, n^1) 19.19/6.67 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (5) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 19.19/6.67 Transformed a relative TRS into a decreasing-loop problem. 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (6) 19.19/6.67 Obligation: 19.19/6.67 Analyzing the following TRS for decreasing loops: 19.19/6.67 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 19.19/6.67 19.19/6.67 19.19/6.67 The TRS R consists of the following rules: 19.19/6.67 19.19/6.67 f(n__f(n__a)) -> f(n__g(n__f(n__a))) 19.19/6.67 f(X) -> n__f(X) 19.19/6.67 a -> n__a 19.19/6.67 g(X) -> n__g(X) 19.19/6.67 activate(n__f(X)) -> f(X) 19.19/6.67 activate(n__a) -> a 19.19/6.67 activate(n__g(X)) -> g(activate(X)) 19.19/6.67 activate(X) -> X 19.19/6.67 19.19/6.67 S is empty. 19.19/6.67 Rewrite Strategy: FULL 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (7) DecreasingLoopProof (LOWER BOUND(ID)) 19.19/6.67 The following loop(s) give(s) rise to the lower bound Omega(n^1): 19.19/6.67 19.19/6.67 The rewrite sequence 19.19/6.67 19.19/6.67 activate(n__g(X)) ->^+ g(activate(X)) 19.19/6.67 19.19/6.67 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 19.19/6.67 19.19/6.67 The pumping substitution is [X / n__g(X)]. 19.19/6.67 19.19/6.67 The result substitution is [ ]. 19.19/6.67 19.19/6.67 19.19/6.67 19.19/6.67 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (8) 19.19/6.67 Complex Obligation (BEST) 19.19/6.67 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (9) 19.19/6.67 Obligation: 19.19/6.67 Proved the lower bound n^1 for the following obligation: 19.19/6.67 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 19.19/6.67 19.19/6.67 19.19/6.67 The TRS R consists of the following rules: 19.19/6.67 19.19/6.67 f(n__f(n__a)) -> f(n__g(n__f(n__a))) 19.19/6.67 f(X) -> n__f(X) 19.19/6.67 a -> n__a 19.19/6.67 g(X) -> n__g(X) 19.19/6.67 activate(n__f(X)) -> f(X) 19.19/6.67 activate(n__a) -> a 19.19/6.67 activate(n__g(X)) -> g(activate(X)) 19.19/6.67 activate(X) -> X 19.19/6.67 19.19/6.67 S is empty. 19.19/6.67 Rewrite Strategy: FULL 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (10) LowerBoundPropagationProof (FINISHED) 19.19/6.67 Propagated lower bound. 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (11) 19.19/6.67 BOUNDS(n^1, INF) 19.19/6.67 19.19/6.67 ---------------------------------------- 19.19/6.67 19.19/6.67 (12) 19.19/6.67 Obligation: 19.19/6.67 Analyzing the following TRS for decreasing loops: 19.19/6.67 19.19/6.67 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 19.19/6.67 19.19/6.67 19.19/6.67 The TRS R consists of the following rules: 19.19/6.67 19.19/6.67 f(n__f(n__a)) -> f(n__g(n__f(n__a))) 19.19/6.67 f(X) -> n__f(X) 19.19/6.67 a -> n__a 19.19/6.67 g(X) -> n__g(X) 19.19/6.67 activate(n__f(X)) -> f(X) 19.19/6.67 activate(n__a) -> a 19.19/6.67 activate(n__g(X)) -> g(activate(X)) 19.19/6.67 activate(X) -> X 19.19/6.67 19.19/6.67 S is empty. 19.19/6.67 Rewrite Strategy: FULL 19.37/10.09 EOF