4.53/2.13 WORST_CASE(NON_POLY, ?) 4.53/2.13 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 4.53/2.13 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.53/2.13 4.53/2.13 4.53/2.13 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 4.53/2.13 4.53/2.13 (0) CpxIntTrs 4.53/2.13 (1) Loat Proof [FINISHED, 419 ms] 4.53/2.13 (2) BOUNDS(INF, INF) 4.53/2.13 4.53/2.13 4.53/2.13 ---------------------------------------- 4.53/2.13 4.53/2.13 (0) 4.53/2.13 Obligation: 4.53/2.13 Complexity Int TRS consisting of the following rules: 4.53/2.13 f2(A, B, C, D) -> Com_1(f300(A, B, C, D)) :|: TRUE 4.53/2.13 f300(A, B, C, D) -> Com_1(f300(1 + A, B, E, D)) :|: E >= 1 && B >= 1 + A 4.53/2.13 f300(A, B, C, D) -> Com_1(f300(1 + A, B, E, D)) :|: 0 >= E + 1 && B >= 1 + A 4.53/2.13 f300(A, B, C, D) -> Com_1(f300(A, 1 + B, 0, D)) :|: B >= 1 + A 4.53/2.13 f300(A, B, C, D) -> Com_1(f1(A, B, C, E)) :|: A >= B 4.53/2.13 4.53/2.13 The start-symbols are:[f2_4] 4.53/2.13 4.53/2.13 4.53/2.13 ---------------------------------------- 4.53/2.13 4.53/2.13 (1) Loat Proof (FINISHED) 4.53/2.13 4.53/2.13 4.53/2.13 ### Pre-processing the ITS problem ### 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Initial linear ITS problem 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 0: f2 -> f300 : [], cost: 1 4.53/2.13 4.53/2.13 1: f300 -> f300 : B'=1+B, C'=free, [ free>=1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 2: f300 -> f300 : B'=1+B, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 3: f300 -> f300 : A'=1+A, C'=0, [ A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 4: f300 -> f1 : D'=free_2, [ B>=A ], cost: 1 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Removed unreachable and leaf rules: 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 0: f2 -> f300 : [], cost: 1 4.53/2.13 4.53/2.13 1: f300 -> f300 : B'=1+B, C'=free, [ free>=1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 2: f300 -> f300 : B'=1+B, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 3: f300 -> f300 : A'=1+A, C'=0, [ A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 ### Simplification by acceleration and chaining ### 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Accelerating simple loops of location 1. 4.53/2.13 4.53/2.13 Accelerating the following rules: 4.53/2.13 4.53/2.13 1: f300 -> f300 : B'=1+B, C'=free, [ free>=1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 2: f300 -> f300 : B'=1+B, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 3: f300 -> f300 : A'=1+A, C'=0, [ A>=1+B ], cost: 1 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Accelerated rule 1 with metering function A-B, yielding the new rule 5. 4.53/2.13 4.53/2.13 Accelerated rule 2 with metering function A-B, yielding the new rule 6. 4.53/2.13 4.53/2.13 Accelerated rule 3 with NONTERM, yielding the new rule 7. 4.53/2.13 4.53/2.13 Removing the simple loops: 1 2 3. 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Accelerated all simple loops using metering functions (where possible): 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 0: f2 -> f300 : [], cost: 1 4.53/2.13 4.53/2.13 5: f300 -> f300 : B'=A, C'=free, [ free>=1 && A>=1+B ], cost: A-B 4.53/2.13 4.53/2.13 6: f300 -> f300 : B'=A, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: A-B 4.53/2.13 4.53/2.13 7: f300 -> [3] : [ A>=1+B ], cost: INF 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Chained accelerated rules (with incoming rules): 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 0: f2 -> f300 : [], cost: 1 4.53/2.13 4.53/2.13 8: f2 -> f300 : B'=A, C'=free, [ free>=1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 9: f2 -> f300 : B'=A, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 10: f2 -> [3] : [ A>=1+B ], cost: INF 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Removed unreachable locations (and leaf rules with constant cost): 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 8: f2 -> f300 : B'=A, C'=free, [ free>=1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 9: f2 -> f300 : B'=A, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 10: f2 -> [3] : [ A>=1+B ], cost: INF 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 ### Computing asymptotic complexity ### 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Fully simplified ITS problem 4.53/2.13 4.53/2.13 Start location: f2 4.53/2.13 4.53/2.13 8: f2 -> f300 : B'=A, C'=free, [ free>=1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 9: f2 -> f300 : B'=A, C'=free_1, [ 0>=1+free_1 && A>=1+B ], cost: 1+A-B 4.53/2.13 4.53/2.13 10: f2 -> [3] : [ A>=1+B ], cost: INF 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Computing asymptotic complexity for rule 8 4.53/2.13 4.53/2.13 Solved the limit problem by the following transformations: 4.53/2.13 4.53/2.13 Created initial limit problem: 4.53/2.13 4.53/2.13 free (+/+!), 1+A-B (+), A-B (+/+!) [not solved] 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 removing all constraints (solved by SMT) 4.53/2.13 4.53/2.13 resulting limit problem: [solved] 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 applying transformation rule (C) using substitution {free==1,A==0,B==-n} 4.53/2.13 4.53/2.13 resulting limit problem: 4.53/2.13 4.53/2.13 [solved] 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Solution: 4.53/2.13 4.53/2.13 free / 1 4.53/2.13 4.53/2.13 A / 0 4.53/2.13 4.53/2.13 B / -n 4.53/2.13 4.53/2.13 Resulting cost 1+n has complexity: Poly(n^1) 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Found new complexity Poly(n^1). 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Computing asymptotic complexity for rule 10 4.53/2.13 4.53/2.13 Resulting cost INF has complexity: Nonterm 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Found new complexity Nonterm. 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 Obtained the following overall complexity (w.r.t. the length of the input n): 4.53/2.13 4.53/2.13 Complexity: Nonterm 4.53/2.13 4.53/2.13 Cpx degree: Nonterm 4.53/2.13 4.53/2.13 Solved cost: INF 4.53/2.13 4.53/2.13 Rule cost: INF 4.53/2.13 4.53/2.13 Rule guard: [ A>=1+B ] 4.53/2.13 4.53/2.13 4.53/2.13 4.53/2.13 NO 4.53/2.13 4.53/2.13 4.53/2.13 ---------------------------------------- 4.53/2.13 4.53/2.13 (2) 4.53/2.13 BOUNDS(INF, INF) 4.57/2.15 EOF