5.83/2.46 WORST_CASE(NON_POLY, ?) 5.83/2.47 proof of /export/starexec/sandbox2/benchmark/theBenchmark.koat 5.83/2.47 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.83/2.47 5.83/2.47 5.83/2.47 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 5.83/2.47 5.83/2.47 (0) CpxIntTrs 5.83/2.47 (1) Loat Proof [FINISHED, 830 ms] 5.83/2.47 (2) BOUNDS(INF, INF) 5.83/2.47 5.83/2.47 5.83/2.47 ---------------------------------------- 5.83/2.47 5.83/2.47 (0) 5.83/2.47 Obligation: 5.83/2.47 Complexity Int TRS consisting of the following rules: 5.83/2.47 f0(A, B, C, D, E) -> Com_1(f3(0, 0, C, D, E)) :|: TRUE 5.83/2.47 f3(A, B, C, D, E) -> Com_1(f3(A, B, C - 1, F, E)) :|: C >= 1 && F >= 1 5.83/2.47 f3(A, B, C, D, E) -> Com_1(f3(A, B, C - 2, F, E)) :|: C >= 1 && 0 >= F 5.83/2.47 f3(A, B, C, D, E) -> Com_1(f6(A, B, C, D, F)) :|: 0 >= C 5.83/2.47 f6(A, B, C, D, E) -> Com_1(f6(1, B, C, D, F)) :|: E >= 1 5.83/2.47 f6(A, B, C, D, E) -> Com_1(f6(0, B, C, D, F)) :|: 0 >= E 5.83/2.47 5.83/2.47 The start-symbols are:[f0_5] 5.83/2.47 5.83/2.47 5.83/2.47 ---------------------------------------- 5.83/2.47 5.83/2.47 (1) Loat Proof (FINISHED) 5.83/2.47 5.83/2.47 5.83/2.47 ### Pre-processing the ITS problem ### 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Initial linear ITS problem 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 0: f0 -> f3 : A'=0, B'=0, [], cost: 1 5.83/2.47 5.83/2.47 1: f3 -> f3 : C'=-1+C, D'=free, [ C>=1 && free>=1 ], cost: 1 5.83/2.47 5.83/2.47 2: f3 -> f3 : C'=-2+C, D'=free_1, [ C>=1 && 0>=free_1 ], cost: 1 5.83/2.47 5.83/2.47 3: f3 -> f6 : E'=free_2, [ 0>=C ], cost: 1 5.83/2.47 5.83/2.47 4: f6 -> f6 : A'=1, E'=free_3, [ E>=1 ], cost: 1 5.83/2.47 5.83/2.47 5: f6 -> f6 : A'=0, E'=free_4, [ 0>=E ], cost: 1 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 ### Simplification by acceleration and chaining ### 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Accelerating simple loops of location 1. 5.83/2.47 5.83/2.47 Accelerating the following rules: 5.83/2.47 5.83/2.47 1: f3 -> f3 : C'=-1+C, D'=free, [ C>=1 && free>=1 ], cost: 1 5.83/2.47 5.83/2.47 2: f3 -> f3 : C'=-2+C, D'=free_1, [ C>=1 && 0>=free_1 ], cost: 1 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Accelerated rule 1 with metering function C, yielding the new rule 6. 5.83/2.47 5.83/2.47 Accelerated rule 2 with metering function meter (where 2*meter==C), yielding the new rule 7. 5.83/2.47 5.83/2.47 During metering: Instantiating temporary variables by {meter==1} 5.83/2.47 5.83/2.47 Removing the simple loops: 1 2. 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Accelerating simple loops of location 2. 5.83/2.47 5.83/2.47 Accelerating the following rules: 5.83/2.47 5.83/2.47 4: f6 -> f6 : A'=1, E'=free_3, [ E>=1 ], cost: 1 5.83/2.47 5.83/2.47 5: f6 -> f6 : A'=0, E'=free_4, [ 0>=E ], cost: 1 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Accelerated rule 4 with NONTERM (after strengthening guard), yielding the new rule 8. 5.83/2.47 5.83/2.47 Accelerated rule 5 with NONTERM (after strengthening guard), yielding the new rule 9. 5.83/2.47 5.83/2.47 Removing the simple loops:. 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Accelerated all simple loops using metering functions (where possible): 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 0: f0 -> f3 : A'=0, B'=0, [], cost: 1 5.83/2.47 5.83/2.47 3: f3 -> f6 : E'=free_2, [ 0>=C ], cost: 1 5.83/2.47 5.83/2.47 6: f3 -> f3 : C'=0, D'=free, [ C>=1 && free>=1 ], cost: C 5.83/2.47 5.83/2.47 7: f3 -> f3 : C'=C-2*meter, D'=free_1, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 ], cost: meter 5.83/2.47 5.83/2.47 4: f6 -> f6 : A'=1, E'=free_3, [ E>=1 ], cost: 1 5.83/2.47 5.83/2.47 5: f6 -> f6 : A'=0, E'=free_4, [ 0>=E ], cost: 1 5.83/2.47 5.83/2.47 8: f6 -> [4] : [ E>=1 && free_3>=1 ], cost: INF 5.83/2.47 5.83/2.47 9: f6 -> [4] : [ 0>=E && 0>=free_4 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Chained accelerated rules (with incoming rules): 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 0: f0 -> f3 : A'=0, B'=0, [], cost: 1 5.83/2.47 5.83/2.47 10: f0 -> f3 : A'=0, B'=0, C'=0, D'=free, [ C>=1 && free>=1 ], cost: 1+C 5.83/2.47 5.83/2.47 11: f0 -> f3 : A'=0, B'=0, C'=C-2*meter, D'=free_1, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 ], cost: 1+meter 5.83/2.47 5.83/2.47 3: f3 -> f6 : E'=free_2, [ 0>=C ], cost: 1 5.83/2.47 5.83/2.47 12: f3 -> f6 : A'=1, E'=free_3, [ 0>=C ], cost: 2 5.83/2.47 5.83/2.47 13: f3 -> f6 : A'=0, E'=free_4, [ 0>=C ], cost: 2 5.83/2.47 5.83/2.47 14: f3 -> [4] : E'=free_2, [ 0>=C && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 15: f3 -> [4] : E'=free_2, [ 0>=C && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Removed unreachable locations (and leaf rules with constant cost): 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 0: f0 -> f3 : A'=0, B'=0, [], cost: 1 5.83/2.47 5.83/2.47 10: f0 -> f3 : A'=0, B'=0, C'=0, D'=free, [ C>=1 && free>=1 ], cost: 1+C 5.83/2.47 5.83/2.47 11: f0 -> f3 : A'=0, B'=0, C'=C-2*meter, D'=free_1, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 ], cost: 1+meter 5.83/2.47 5.83/2.47 14: f3 -> [4] : E'=free_2, [ 0>=C && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 15: f3 -> [4] : E'=free_2, [ 0>=C && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Eliminated locations (on tree-shaped paths): 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 16: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 17: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 18: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 19: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 20: f0 -> [4] : A'=0, B'=0, C'=C-2*meter, D'=free_1, E'=free_2, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 21: f0 -> [4] : A'=0, B'=0, C'=C-2*meter, D'=free_1, E'=free_2, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Applied pruning (of leafs and parallel rules): 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 16: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 17: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 18: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 19: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 21: f0 -> [4] : A'=0, B'=0, C'=C-2*meter, D'=free_1, E'=free_2, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 ### Computing asymptotic complexity ### 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Fully simplified ITS problem 5.83/2.47 5.83/2.47 Start location: f0 5.83/2.47 5.83/2.47 16: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 17: f0 -> [4] : A'=0, B'=0, E'=free_2, [ 0>=C && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 18: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && free_2>=1 ], cost: INF 5.83/2.47 5.83/2.47 19: f0 -> [4] : A'=0, B'=0, C'=0, D'=free, E'=free_2, [ C>=1 && free>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 21: f0 -> [4] : A'=0, B'=0, C'=C-2*meter, D'=free_1, E'=free_2, [ C>=1 && 0>=free_1 && 2*meter==C && meter>=1 && 0>=free_2 ], cost: INF 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Computing asymptotic complexity for rule 16 5.83/2.47 5.83/2.47 Resulting cost INF has complexity: Nonterm 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Found new complexity Nonterm. 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 Obtained the following overall complexity (w.r.t. the length of the input n): 5.83/2.47 5.83/2.47 Complexity: Nonterm 5.83/2.47 5.83/2.47 Cpx degree: Nonterm 5.83/2.47 5.83/2.47 Solved cost: INF 5.83/2.47 5.83/2.47 Rule cost: INF 5.83/2.47 5.83/2.47 Rule guard: [ 0>=C && free_2>=1 ] 5.83/2.47 5.83/2.47 5.83/2.47 5.83/2.47 NO 5.83/2.47 5.83/2.47 5.83/2.47 ---------------------------------------- 5.83/2.47 5.83/2.47 (2) 5.83/2.47 BOUNDS(INF, INF) 5.89/2.50 EOF