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