102.80/42.92 WORST_CASE(Omega(n^1), O(n^1)) 102.80/42.93 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 102.80/42.93 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 102.80/42.93 102.80/42.93 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 102.80/42.93 102.80/42.93 (0) CpxTRS 102.80/42.93 (1) NestedDefinedSymbolProof [UPPER BOUND(ID), 0 ms] 102.80/42.93 (2) CpxTRS 102.80/42.93 (3) RcToIrcProof [BOTH BOUNDS(ID, ID), 0 ms] 102.80/42.93 (4) CpxTRS 102.80/42.93 (5) CpxTrsToCdtProof [UPPER BOUND(ID), 5 ms] 102.80/42.93 (6) CdtProblem 102.80/42.93 (7) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] 102.80/42.93 (8) CdtProblem 102.80/42.93 (9) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] 102.80/42.93 (10) CdtProblem 102.80/42.93 (11) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 18 ms] 102.80/42.93 (12) CdtProblem 102.80/42.93 (13) SIsEmptyProof [BOTH BOUNDS(ID, ID), 0 ms] 102.80/42.93 (14) BOUNDS(1, 1) 102.80/42.93 (15) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 102.80/42.93 (16) TRS for Loop Detection 102.80/42.93 (17) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 102.80/42.93 (18) BEST 102.80/42.93 (19) proven lower bound 102.80/42.93 (20) LowerBoundPropagationProof [FINISHED, 0 ms] 102.80/42.93 (21) BOUNDS(n^1, INF) 102.80/42.93 (22) TRS for Loop Detection 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (0) 102.80/42.93 Obligation: 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(:(x, y), z) -> :(x, :(y, z)) 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: FULL 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (1) NestedDefinedSymbolProof (UPPER BOUND(ID)) 102.80/42.93 The TRS does not nest defined symbols. 102.80/42.93 Hence, the left-hand sides of the following rules are not basic-reachable and can be removed: 102.80/42.93 :(:(x, y), z) -> :(x, :(y, z)) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (2) 102.80/42.93 Obligation: 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: FULL 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (3) RcToIrcProof (BOTH BOUNDS(ID, ID)) 102.80/42.93 Converted rc-obligation to irc-obligation. 102.80/42.93 102.80/42.93 As the TRS does not nest defined symbols, we have rc = irc. 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (4) 102.80/42.93 Obligation: 102.80/42.93 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: INNERMOST 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (5) CpxTrsToCdtProof (UPPER BOUND(ID)) 102.80/42.93 Converted Cpx (relative) TRS to CDT 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (6) 102.80/42.93 Obligation: 102.80/42.93 Complexity Dependency Tuples Problem 102.80/42.93 102.80/42.93 Rules: 102.80/42.93 :(+(z0, z1), z2) -> +(:(z0, z2), :(z1, z2)) 102.80/42.93 :(z0, +(z1, f(z2))) -> :(g(z0, z2), +(z1, a)) 102.80/42.93 Tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 :'(z0, +(z1, f(z2))) -> c1(:'(g(z0, z2), +(z1, a))) 102.80/42.93 S tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 :'(z0, +(z1, f(z2))) -> c1(:'(g(z0, z2), +(z1, a))) 102.80/42.93 K tuples:none 102.80/42.93 Defined Rule Symbols: :_2 102.80/42.93 102.80/42.93 Defined Pair Symbols: :'_2 102.80/42.93 102.80/42.93 Compound Symbols: c_2, c1_1 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (7) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) 102.80/42.93 Removed 1 trailing nodes: 102.80/42.93 :'(z0, +(z1, f(z2))) -> c1(:'(g(z0, z2), +(z1, a))) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (8) 102.80/42.93 Obligation: 102.80/42.93 Complexity Dependency Tuples Problem 102.80/42.93 102.80/42.93 Rules: 102.80/42.93 :(+(z0, z1), z2) -> +(:(z0, z2), :(z1, z2)) 102.80/42.93 :(z0, +(z1, f(z2))) -> :(g(z0, z2), +(z1, a)) 102.80/42.93 Tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 S tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 K tuples:none 102.80/42.93 Defined Rule Symbols: :_2 102.80/42.93 102.80/42.93 Defined Pair Symbols: :'_2 102.80/42.93 102.80/42.93 Compound Symbols: c_2 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (9) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) 102.80/42.93 The following rules are not usable and were removed: 102.80/42.93 :(+(z0, z1), z2) -> +(:(z0, z2), :(z1, z2)) 102.80/42.93 :(z0, +(z1, f(z2))) -> :(g(z0, z2), +(z1, a)) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (10) 102.80/42.93 Obligation: 102.80/42.93 Complexity Dependency Tuples Problem 102.80/42.93 102.80/42.93 Rules:none 102.80/42.93 Tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 S tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 K tuples:none 102.80/42.93 Defined Rule Symbols:none 102.80/42.93 102.80/42.93 Defined Pair Symbols: :'_2 102.80/42.93 102.80/42.93 Compound Symbols: c_2 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (11) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) 102.80/42.93 Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 We considered the (Usable) Rules:none 102.80/42.93 And the Tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 The order we found is given by the following interpretation: 102.80/42.93 102.80/42.93 Polynomial interpretation : 102.80/42.93 102.80/42.93 POL(+(x_1, x_2)) = [1] + x_1 + x_2 102.80/42.93 POL(:'(x_1, x_2)) = x_1 102.80/42.93 POL(c(x_1, x_2)) = x_1 + x_2 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (12) 102.80/42.93 Obligation: 102.80/42.93 Complexity Dependency Tuples Problem 102.80/42.93 102.80/42.93 Rules:none 102.80/42.93 Tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 S tuples:none 102.80/42.93 K tuples: 102.80/42.93 :'(+(z0, z1), z2) -> c(:'(z0, z2), :'(z1, z2)) 102.80/42.93 Defined Rule Symbols:none 102.80/42.93 102.80/42.93 Defined Pair Symbols: :'_2 102.80/42.93 102.80/42.93 Compound Symbols: c_2 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (13) SIsEmptyProof (BOTH BOUNDS(ID, ID)) 102.80/42.93 The set S is empty 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (14) 102.80/42.93 BOUNDS(1, 1) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (15) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 102.80/42.93 Transformed a relative TRS into a decreasing-loop problem. 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (16) 102.80/42.93 Obligation: 102.80/42.93 Analyzing the following TRS for decreasing loops: 102.80/42.93 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(:(x, y), z) -> :(x, :(y, z)) 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: FULL 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (17) DecreasingLoopProof (LOWER BOUND(ID)) 102.80/42.93 The following loop(s) give(s) rise to the lower bound Omega(n^1): 102.80/42.93 102.80/42.93 The rewrite sequence 102.80/42.93 102.80/42.93 :(+(x, y), z) ->^+ +(:(x, z), :(y, z)) 102.80/42.93 102.80/42.93 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 102.80/42.93 102.80/42.93 The pumping substitution is [x / +(x, y)]. 102.80/42.93 102.80/42.93 The result substitution is [ ]. 102.80/42.93 102.80/42.93 102.80/42.93 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (18) 102.80/42.93 Complex Obligation (BEST) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (19) 102.80/42.93 Obligation: 102.80/42.93 Proved the lower bound n^1 for the following obligation: 102.80/42.93 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(:(x, y), z) -> :(x, :(y, z)) 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: FULL 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (20) LowerBoundPropagationProof (FINISHED) 102.80/42.93 Propagated lower bound. 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (21) 102.80/42.93 BOUNDS(n^1, INF) 102.80/42.93 102.80/42.93 ---------------------------------------- 102.80/42.93 102.80/42.93 (22) 102.80/42.93 Obligation: 102.80/42.93 Analyzing the following TRS for decreasing loops: 102.80/42.93 102.80/42.93 The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, n^1). 102.80/42.93 102.80/42.93 102.80/42.93 The TRS R consists of the following rules: 102.80/42.93 102.80/42.93 :(:(x, y), z) -> :(x, :(y, z)) 102.80/42.93 :(+(x, y), z) -> +(:(x, z), :(y, z)) 102.80/42.93 :(z, +(x, f(y))) -> :(g(z, y), +(x, a)) 102.80/42.93 102.80/42.93 S is empty. 102.80/42.93 Rewrite Strategy: FULL 102.97/42.96 EOF