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