1121.71/291.50 WORST_CASE(Omega(n^1), ?) 1121.71/291.51 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 1121.71/291.51 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 1121.71/291.51 1121.71/291.51 1121.71/291.51 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1121.71/291.51 1121.71/291.51 (0) CpxTRS 1121.71/291.51 (1) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 1121.71/291.51 (2) TRS for Loop Detection 1121.71/291.51 (3) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 1121.71/291.51 (4) BEST 1121.71/291.51 (5) proven lower bound 1121.71/291.51 (6) LowerBoundPropagationProof [FINISHED, 0 ms] 1121.71/291.51 (7) BOUNDS(n^1, INF) 1121.71/291.51 (8) TRS for Loop Detection 1121.71/291.51 1121.71/291.51 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (0) 1121.71/291.51 Obligation: 1121.71/291.51 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1121.71/291.51 1121.71/291.51 1121.71/291.51 The TRS R consists of the following rules: 1121.71/291.51 1121.71/291.51 0(#) -> # 1121.71/291.51 +(#, x) -> x 1121.71/291.51 +(x, #) -> x 1121.71/291.51 +(0(x), 0(y)) -> 0(+(x, y)) 1121.71/291.51 +(0(x), 1(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 0(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 1(y)) -> 0(+(+(x, y), 1(#))) 1121.71/291.51 +(+(x, y), z) -> +(x, +(y, z)) 1121.71/291.51 -(#, x) -> # 1121.71/291.51 -(x, #) -> x 1121.71/291.51 -(0(x), 0(y)) -> 0(-(x, y)) 1121.71/291.51 -(0(x), 1(y)) -> 1(-(-(x, y), 1(#))) 1121.71/291.51 -(1(x), 0(y)) -> 1(-(x, y)) 1121.71/291.51 -(1(x), 1(y)) -> 0(-(x, y)) 1121.71/291.51 not(true) -> false 1121.71/291.51 not(false) -> true 1121.71/291.51 if(true, x, y) -> x 1121.71/291.51 if(false, x, y) -> y 1121.71/291.51 ge(0(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(0(x), 1(y)) -> not(ge(y, x)) 1121.71/291.51 ge(1(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(1(x), 1(y)) -> ge(x, y) 1121.71/291.51 ge(x, #) -> true 1121.71/291.51 ge(#, 0(x)) -> ge(#, x) 1121.71/291.51 ge(#, 1(x)) -> false 1121.71/291.51 log(x) -> -(log'(x), 1(#)) 1121.71/291.51 log'(#) -> # 1121.71/291.51 log'(1(x)) -> +(log'(x), 1(#)) 1121.71/291.51 log'(0(x)) -> if(ge(x, 1(#)), +(log'(x), 1(#)), #) 1121.71/291.51 1121.71/291.51 S is empty. 1121.71/291.51 Rewrite Strategy: FULL 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (1) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 1121.71/291.51 Transformed a relative TRS into a decreasing-loop problem. 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (2) 1121.71/291.51 Obligation: 1121.71/291.51 Analyzing the following TRS for decreasing loops: 1121.71/291.51 1121.71/291.51 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1121.71/291.51 1121.71/291.51 1121.71/291.51 The TRS R consists of the following rules: 1121.71/291.51 1121.71/291.51 0(#) -> # 1121.71/291.51 +(#, x) -> x 1121.71/291.51 +(x, #) -> x 1121.71/291.51 +(0(x), 0(y)) -> 0(+(x, y)) 1121.71/291.51 +(0(x), 1(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 0(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 1(y)) -> 0(+(+(x, y), 1(#))) 1121.71/291.51 +(+(x, y), z) -> +(x, +(y, z)) 1121.71/291.51 -(#, x) -> # 1121.71/291.51 -(x, #) -> x 1121.71/291.51 -(0(x), 0(y)) -> 0(-(x, y)) 1121.71/291.51 -(0(x), 1(y)) -> 1(-(-(x, y), 1(#))) 1121.71/291.51 -(1(x), 0(y)) -> 1(-(x, y)) 1121.71/291.51 -(1(x), 1(y)) -> 0(-(x, y)) 1121.71/291.51 not(true) -> false 1121.71/291.51 not(false) -> true 1121.71/291.51 if(true, x, y) -> x 1121.71/291.51 if(false, x, y) -> y 1121.71/291.51 ge(0(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(0(x), 1(y)) -> not(ge(y, x)) 1121.71/291.51 ge(1(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(1(x), 1(y)) -> ge(x, y) 1121.71/291.51 ge(x, #) -> true 1121.71/291.51 ge(#, 0(x)) -> ge(#, x) 1121.71/291.51 ge(#, 1(x)) -> false 1121.71/291.51 log(x) -> -(log'(x), 1(#)) 1121.71/291.51 log'(#) -> # 1121.71/291.51 log'(1(x)) -> +(log'(x), 1(#)) 1121.71/291.51 log'(0(x)) -> if(ge(x, 1(#)), +(log'(x), 1(#)), #) 1121.71/291.51 1121.71/291.51 S is empty. 1121.71/291.51 Rewrite Strategy: FULL 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (3) DecreasingLoopProof (LOWER BOUND(ID)) 1121.71/291.51 The following loop(s) give(s) rise to the lower bound Omega(n^1): 1121.71/291.51 1121.71/291.51 The rewrite sequence 1121.71/291.51 1121.71/291.51 +(1(x), 1(y)) ->^+ 0(+(+(x, y), 1(#))) 1121.71/291.51 1121.71/291.51 gives rise to a decreasing loop by considering the right hand sides subterm at position [0,0]. 1121.71/291.51 1121.71/291.51 The pumping substitution is [x / 1(x), y / 1(y)]. 1121.71/291.51 1121.71/291.51 The result substitution is [ ]. 1121.71/291.51 1121.71/291.51 1121.71/291.51 1121.71/291.51 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (4) 1121.71/291.51 Complex Obligation (BEST) 1121.71/291.51 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (5) 1121.71/291.51 Obligation: 1121.71/291.51 Proved the lower bound n^1 for the following obligation: 1121.71/291.51 1121.71/291.51 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1121.71/291.51 1121.71/291.51 1121.71/291.51 The TRS R consists of the following rules: 1121.71/291.51 1121.71/291.51 0(#) -> # 1121.71/291.51 +(#, x) -> x 1121.71/291.51 +(x, #) -> x 1121.71/291.51 +(0(x), 0(y)) -> 0(+(x, y)) 1121.71/291.51 +(0(x), 1(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 0(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 1(y)) -> 0(+(+(x, y), 1(#))) 1121.71/291.51 +(+(x, y), z) -> +(x, +(y, z)) 1121.71/291.51 -(#, x) -> # 1121.71/291.51 -(x, #) -> x 1121.71/291.51 -(0(x), 0(y)) -> 0(-(x, y)) 1121.71/291.51 -(0(x), 1(y)) -> 1(-(-(x, y), 1(#))) 1121.71/291.51 -(1(x), 0(y)) -> 1(-(x, y)) 1121.71/291.51 -(1(x), 1(y)) -> 0(-(x, y)) 1121.71/291.51 not(true) -> false 1121.71/291.51 not(false) -> true 1121.71/291.51 if(true, x, y) -> x 1121.71/291.51 if(false, x, y) -> y 1121.71/291.51 ge(0(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(0(x), 1(y)) -> not(ge(y, x)) 1121.71/291.51 ge(1(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(1(x), 1(y)) -> ge(x, y) 1121.71/291.51 ge(x, #) -> true 1121.71/291.51 ge(#, 0(x)) -> ge(#, x) 1121.71/291.51 ge(#, 1(x)) -> false 1121.71/291.51 log(x) -> -(log'(x), 1(#)) 1121.71/291.51 log'(#) -> # 1121.71/291.51 log'(1(x)) -> +(log'(x), 1(#)) 1121.71/291.51 log'(0(x)) -> if(ge(x, 1(#)), +(log'(x), 1(#)), #) 1121.71/291.51 1121.71/291.51 S is empty. 1121.71/291.51 Rewrite Strategy: FULL 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (6) LowerBoundPropagationProof (FINISHED) 1121.71/291.51 Propagated lower bound. 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (7) 1121.71/291.51 BOUNDS(n^1, INF) 1121.71/291.51 1121.71/291.51 ---------------------------------------- 1121.71/291.51 1121.71/291.51 (8) 1121.71/291.51 Obligation: 1121.71/291.51 Analyzing the following TRS for decreasing loops: 1121.71/291.51 1121.71/291.51 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF). 1121.71/291.51 1121.71/291.51 1121.71/291.51 The TRS R consists of the following rules: 1121.71/291.51 1121.71/291.51 0(#) -> # 1121.71/291.51 +(#, x) -> x 1121.71/291.51 +(x, #) -> x 1121.71/291.51 +(0(x), 0(y)) -> 0(+(x, y)) 1121.71/291.51 +(0(x), 1(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 0(y)) -> 1(+(x, y)) 1121.71/291.51 +(1(x), 1(y)) -> 0(+(+(x, y), 1(#))) 1121.71/291.51 +(+(x, y), z) -> +(x, +(y, z)) 1121.71/291.51 -(#, x) -> # 1121.71/291.51 -(x, #) -> x 1121.71/291.51 -(0(x), 0(y)) -> 0(-(x, y)) 1121.71/291.51 -(0(x), 1(y)) -> 1(-(-(x, y), 1(#))) 1121.71/291.51 -(1(x), 0(y)) -> 1(-(x, y)) 1121.71/291.51 -(1(x), 1(y)) -> 0(-(x, y)) 1121.71/291.51 not(true) -> false 1121.71/291.51 not(false) -> true 1121.71/291.51 if(true, x, y) -> x 1121.71/291.51 if(false, x, y) -> y 1121.71/291.51 ge(0(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(0(x), 1(y)) -> not(ge(y, x)) 1121.71/291.51 ge(1(x), 0(y)) -> ge(x, y) 1121.71/291.51 ge(1(x), 1(y)) -> ge(x, y) 1121.71/291.51 ge(x, #) -> true 1121.71/291.51 ge(#, 0(x)) -> ge(#, x) 1121.71/291.51 ge(#, 1(x)) -> false 1121.71/291.51 log(x) -> -(log'(x), 1(#)) 1121.71/291.51 log'(#) -> # 1121.71/291.51 log'(1(x)) -> +(log'(x), 1(#)) 1121.71/291.51 log'(0(x)) -> if(ge(x, 1(#)), +(log'(x), 1(#)), #) 1121.71/291.51 1121.71/291.51 S is empty. 1121.71/291.51 Rewrite Strategy: FULL 1121.97/291.57 EOF