/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). (0) CpxIntTrs (1) Loat Proof [FINISHED, 735 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 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 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: NONTERM 20: f9 -> [9] : [ A>=6 && free_1>=1 ], cost: NONTERM 21: f9 -> [9] : [ 5>=A && 18-2*A>=1 ], cost: NONTERM 22: f9 -> [9] : A'=2, B'=0, [ A>=6 ], cost: NONTERM 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: NONTERM 25: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: NONTERM 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: NONTERM 27: f0 -> [9] : A'=2, B'=0, [], cost: NONTERM 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: NONTERM 25: f0 -> [9] : A'=free_2, [ free_2>=6 ], cost: NONTERM 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: NONTERM 27: f0 -> [9] : A'=2, B'=0, [], cost: NONTERM ### 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: NONTERM 26: f0 -> [9] : A'=free_2, [ 5>=free_2 && 18-2*free_2>=1 ], cost: NONTERM 27: f0 -> [9] : A'=2, B'=0, [], cost: NONTERM 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)