/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(NON_POLY, ?) proof of /export/starexec/sandbox/benchmark/theBenchmark.koat # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). (0) CpxIntTrs (1) Loat Proof [FINISHED, 720 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f9(A, B) -> Com_1(f10(A, B)) :|: 5 >= A f25(A, B) -> Com_1(f2(A, B)) :|: TRUE f2(A, B) -> Com_1(f2(A, B)) :|: TRUE f9(A, B) -> Com_1(f10(A, C)) :|: A >= 6 && 0 >= C + 1 f9(A, B) -> Com_1(f10(A, C)) :|: A >= 6 && C >= 1 f10(A, B) -> Com_1(f9(A + 1, B)) :|: A >= 6 f27(A, B) -> Com_1(f29(A, B)) :|: TRUE f19(A, B) -> Com_1(f19(A - 1, B)) :|: A >= 3 f19(A, B) -> Com_1(f9(A, B)) :|: 2 >= A f10(A, B) -> Com_1(f9(A + 1, B)) :|: 5 >= A f9(A, B) -> Com_1(f19(A, 0)) :|: A >= 6 f0(A, B) -> Com_1(f9(C, B)) :|: TRUE The start-symbols are:[f0_2] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 1: f25 -> f2 : [], cost: 1 2: f2 -> f2 : [], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 6: f27 -> f29 : [], cost: 1 7: f19 -> f19 : A'=-1+A, [ A>=3 ], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Removed unreachable and leaf rules: Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 7: f19 -> f19 : A'=-1+A, [ A>=3 ], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 5. Accelerating the following rules: 7: f19 -> f19 : A'=-1+A, [ A>=3 ], cost: 1 Accelerated rule 7 with metering function -2+A, yielding the new rule 12. Removing the simple loops: 7. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 12: f19 -> f19 : A'=2, [ A>=3 ], cost: -2+A 11: f0 -> f9 : A'=free_2, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: f0 0: f9 -> f10 : [ 5>=A ], cost: 1 3: f9 -> f10 : B'=free, [ A>=6 && 0>=1+free ], cost: 1 4: f9 -> f10 : B'=free_1, [ A>=6 && free_1>=1 ], cost: 1 10: f9 -> f19 : B'=0, [ A>=6 ], cost: 1 13: f9 -> f19 : A'=2, B'=0, [ A>=6 ], cost: -1+A 5: f10 -> f9 : A'=1+A, [ A>=6 ], cost: 1 9: f10 -> f9 : A'=1+A, [ 5>=A ], cost: 1 8: f19 -> f9 : [ 2>=A ], cost: 1 11: f0 -> f9 : A'=free_2, [], cost: 1 Eliminated locations (on tree-shaped paths): Start location: f0 14: f9 -> f9 : A'=1+A, [ 5>=A ], cost: 2 15: f9 -> f9 : A'=1+A, B'=free, [ A>=6 && 0>=1+free ], cost: 2 16: f9 -> f9 : A'=1+A, B'=free_1, [ A>=6 && free_1>=1 ], cost: 2 17: f9 -> f9 : A'=2, B'=0, [ A>=6 ], cost: A 11: f0 -> f9 : A'=free_2, [], cost: 1 Accelerating simple loops of location 0. Accelerating the following rules: 14: f9 -> f9 : A'=1+A, [ 5>=A ], cost: 2 15: f9 -> f9 : A'=1+A, B'=free, [ A>=6 && 0>=1+free ], cost: 2 16: f9 -> f9 : A'=1+A, B'=free_1, [ A>=6 && free_1>=1 ], cost: 2 17: f9 -> f9 : A'=2, B'=0, [ A>=6 ], cost: A Accelerated rule 14 with metering function 6-A, yielding the new rule 18. Accelerated rule 15 with NONTERM, yielding the new rule 19. Accelerated rule 16 with NONTERM, yielding the new rule 20. Found no metering function for rule 17. Nested simple loops 17 (outer loop) and 18 (inner loop) with NONTERM, resulting in the new rules: 21, 22. Removing the simple loops: 14 15 16 17. Accelerated all simple loops using metering functions (where possible): Start location: f0 18: f9 -> f9 : A'=6, [ 5>=A ], cost: 12-2*A 19: f9 -> [9] : [ A>=6 && 0>=1+free ], cost: INF 20: f9 -> [9] : [ A>=6 && free_1>=1 ], cost: INF 21: f9 -> [9] : [ 5>=A && 18-2*A>=1 ], cost: INF 22: f9 -> [9] : A'=2, B'=0, [ A>=6 ], cost: INF 11: f0 -> f9 : A'=free_2, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: f0 11: f0 -> f9 : A'=free_2, [], cost: 1 23: f0 -> f9 : A'=6, [ 5>=free_2 ], cost: 13-2*free_2 24: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: INF 25: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: INF 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: INF 27: f0 -> [9] : A'=2, B'=0, [], cost: INF Removed unreachable locations (and leaf rules with constant cost): Start location: f0 23: f0 -> f9 : A'=6, [ 5>=free_2 ], cost: 13-2*free_2 24: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: INF 25: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: INF 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: INF 27: f0 -> [9] : A'=2, B'=0, [], cost: INF ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f0 23: f0 -> f9 : A'=6, [ 5>=free_2 ], cost: 13-2*free_2 25: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: INF 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: INF 27: f0 -> [9] : A'=2, B'=0, [], cost: INF Computing asymptotic complexity for rule 23 Solved the limit problem by the following transformations: Created initial limit problem: 6-free_2 (+/+!), 13-2*free_2 (+) [not solved] removing all constraints (solved by SMT) resulting limit problem: [solved] applying transformation rule (C) using substitution {free_2==-n} resulting limit problem: [solved] Solution: free_2 / -n Resulting cost 13+2*n has complexity: Unbounded Found new complexity Unbounded. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Unbounded Cpx degree: Unbounded Solved cost: 13+2*n Rule cost: 13-2*free_2 Rule guard: [ 5>=free_2 ] WORST_CASE(INF,?) ---------------------------------------- (2) BOUNDS(INF, INF)