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