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