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