4.80/2.29 WORST_CASE(NON_POLY, ?) 4.80/2.30 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 4.80/2.30 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.80/2.30 4.80/2.30 4.80/2.30 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 4.80/2.30 4.80/2.30 (0) CpxIntTrs 4.80/2.30 (1) Loat Proof [FINISHED, 628 ms] 4.80/2.30 (2) BOUNDS(INF, INF) 4.80/2.30 4.80/2.30 4.80/2.30 ---------------------------------------- 4.80/2.30 4.80/2.30 (0) 4.80/2.30 Obligation: 4.80/2.30 Complexity Int TRS consisting of the following rules: 4.80/2.30 f14(A, B, C, D, E, F, G) -> Com_1(f14(A - 1, B - 1, C + 1, H, E, F, G)) :|: A >= 1 && H >= 1 4.80/2.30 f14(A, B, C, D, E, F, G) -> Com_1(f14(A - 1, B, C, H, E, F, G)) :|: 0 >= H && A >= 1 && A >= B + 1 4.80/2.30 f24(A, B, C, D, E, F, G) -> Com_1(f24(A, B, C, D, E, F, G)) :|: TRUE 4.80/2.30 f26(A, B, C, D, E, F, G) -> Com_1(f29(A, B, C, D, E, F, G)) :|: TRUE 4.80/2.30 f14(A, B, C, D, E, F, G) -> Com_1(f24(A, B, C, D, E, F, G)) :|: 0 >= A 4.80/2.30 f0(A, B, C, D, E, F, G) -> Com_1(f14(2 * I + 1, H, 0, D, H, 2 * I + 1, I)) :|: H >= 1 && 2 * I >= 0 4.80/2.30 4.80/2.30 The start-symbols are:[f0_7] 4.80/2.30 4.80/2.30 4.80/2.30 ---------------------------------------- 4.80/2.30 4.80/2.30 (1) Loat Proof (FINISHED) 4.80/2.30 4.80/2.30 4.80/2.30 ### Pre-processing the ITS problem ### 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Initial linear ITS problem 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 0: f14 -> f14 : A'=-1+A, B'=-1+B, C'=1+C, D'=free, [ A>=1 && free>=1 ], cost: 1 4.80/2.30 4.80/2.30 1: f14 -> f14 : A'=-1+A, D'=free_1, [ 0>=free_1 && A>=1 && A>=1+B ], cost: 1 4.80/2.30 4.80/2.30 4: f14 -> f24 : [ 0>=A ], cost: 1 4.80/2.30 4.80/2.30 2: f24 -> f24 : [], cost: 1 4.80/2.30 4.80/2.30 3: f26 -> f29 : [], cost: 1 4.80/2.30 4.80/2.30 5: f0 -> f14 : A'=1+2*free_3, B'=free_2, C'=0, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 ], cost: 1 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Removed unreachable and leaf rules: 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 0: f14 -> f14 : A'=-1+A, B'=-1+B, C'=1+C, D'=free, [ A>=1 && free>=1 ], cost: 1 4.80/2.30 4.80/2.30 1: f14 -> f14 : A'=-1+A, D'=free_1, [ 0>=free_1 && A>=1 && A>=1+B ], cost: 1 4.80/2.30 4.80/2.30 4: f14 -> f24 : [ 0>=A ], cost: 1 4.80/2.30 4.80/2.30 2: f24 -> f24 : [], cost: 1 4.80/2.30 4.80/2.30 5: f0 -> f14 : A'=1+2*free_3, B'=free_2, C'=0, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 ], cost: 1 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 ### Simplification by acceleration and chaining ### 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Accelerating simple loops of location 0. 4.80/2.30 4.80/2.30 Accelerating the following rules: 4.80/2.30 4.80/2.30 0: f14 -> f14 : A'=-1+A, B'=-1+B, C'=1+C, D'=free, [ A>=1 && free>=1 ], cost: 1 4.80/2.30 4.80/2.30 1: f14 -> f14 : A'=-1+A, D'=free_1, [ 0>=free_1 && A>=1 && A>=1+B ], cost: 1 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Accelerated rule 0 with metering function A, yielding the new rule 6. 4.80/2.30 4.80/2.30 Accelerated rule 1 with backward acceleration, yielding the new rule 7. 4.80/2.30 4.80/2.30 Accelerated rule 1 with backward acceleration, yielding the new rule 8. 4.80/2.30 4.80/2.30 Removing the simple loops: 0 1. 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Accelerating simple loops of location 1. 4.80/2.30 4.80/2.30 Accelerating the following rules: 4.80/2.30 4.80/2.30 2: f24 -> f24 : [], cost: 1 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Accelerated rule 2 with NONTERM, yielding the new rule 9. 4.80/2.30 4.80/2.30 Removing the simple loops: 2. 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Accelerated all simple loops using metering functions (where possible): 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 4: f14 -> f24 : [ 0>=A ], cost: 1 4.80/2.30 4.80/2.30 6: f14 -> f14 : A'=0, B'=-A+B, C'=C+A, D'=free, [ A>=1 && free>=1 ], cost: A 4.80/2.30 4.80/2.30 7: f14 -> f14 : A'=0, D'=free_1, [ 0>=free_1 && A>=1 && A>=1+B && 1>=1+B ], cost: A 4.80/2.30 4.80/2.30 8: f14 -> f14 : A'=B, D'=free_1, [ 0>=free_1 && A>=1 && A>=1+B && 1+B>=1 ], cost: A-B 4.80/2.30 4.80/2.30 9: f24 -> [6] : [], cost: INF 4.80/2.30 4.80/2.30 5: f0 -> f14 : A'=1+2*free_3, B'=free_2, C'=0, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 ], cost: 1 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Chained accelerated rules (with incoming rules): 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 4: f14 -> f24 : [ 0>=A ], cost: 1 4.80/2.30 4.80/2.30 12: f14 -> [6] : [ 0>=A ], cost: INF 4.80/2.30 4.80/2.30 5: f0 -> f14 : A'=1+2*free_3, B'=free_2, C'=0, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 ], cost: 1 4.80/2.30 4.80/2.30 10: f0 -> f14 : A'=0, B'=-1+free_2-2*free_3, C'=1+2*free_3, D'=free, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && free>=1 ], cost: 2+2*free_3 4.80/2.30 4.80/2.30 11: f0 -> f14 : A'=free_2, B'=free_2, C'=0, D'=free_1, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && 0>=free_1 && 1+2*free_3>=1+free_2 ], cost: 2-free_2+2*free_3 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Removed unreachable locations (and leaf rules with constant cost): 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 12: f14 -> [6] : [ 0>=A ], cost: INF 4.80/2.30 4.80/2.30 5: f0 -> f14 : A'=1+2*free_3, B'=free_2, C'=0, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 ], cost: 1 4.80/2.30 4.80/2.30 10: f0 -> f14 : A'=0, B'=-1+free_2-2*free_3, C'=1+2*free_3, D'=free, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && free>=1 ], cost: 2+2*free_3 4.80/2.30 4.80/2.30 11: f0 -> f14 : A'=free_2, B'=free_2, C'=0, D'=free_1, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && 0>=free_1 && 1+2*free_3>=1+free_2 ], cost: 2-free_2+2*free_3 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Eliminated locations (on tree-shaped paths): 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 13: f0 -> [6] : A'=0, B'=-1+free_2-2*free_3, C'=1+2*free_3, D'=free, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && free>=1 ], cost: INF 4.80/2.30 4.80/2.30 14: f0 -> [7] : [ free_2>=1 && 2*free_3>=0 && 0>=free_1 && 1+2*free_3>=1+free_2 ], cost: 2-free_2+2*free_3 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 ### Computing asymptotic complexity ### 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Fully simplified ITS problem 4.80/2.30 4.80/2.30 Start location: f0 4.80/2.30 4.80/2.30 13: f0 -> [6] : A'=0, B'=-1+free_2-2*free_3, C'=1+2*free_3, D'=free, E'=free_2, F'=1+2*free_3, G'=free_3, [ free_2>=1 && 2*free_3>=0 && free>=1 ], cost: INF 4.80/2.30 4.80/2.30 14: f0 -> [7] : [ free_2>=1 && 2*free_3>=0 && 0>=free_1 && 1+2*free_3>=1+free_2 ], cost: 2-free_2+2*free_3 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Computing asymptotic complexity for rule 13 4.80/2.30 4.80/2.30 Resulting cost INF has complexity: Nonterm 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Found new complexity Nonterm. 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 Obtained the following overall complexity (w.r.t. the length of the input n): 4.80/2.30 4.80/2.30 Complexity: Nonterm 4.80/2.30 4.80/2.30 Cpx degree: Nonterm 4.80/2.30 4.80/2.30 Solved cost: INF 4.80/2.30 4.80/2.30 Rule cost: INF 4.80/2.30 4.80/2.30 Rule guard: [ free_2>=1 && 2*free_3>=0 && free>=1 ] 4.80/2.30 4.80/2.30 4.80/2.30 4.80/2.30 NO 4.80/2.30 4.80/2.30 4.80/2.30 ---------------------------------------- 4.80/2.30 4.80/2.30 (2) 4.80/2.30 BOUNDS(INF, INF) 4.92/2.33 EOF