/export/starexec/sandbox2/solver/bin/starexec_run_complexity /export/starexec/sandbox2/benchmark/theBenchmark.koat /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(NON_POLY, ?) proof of /export/starexec/sandbox2/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, 624 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f0(A, B, C, D, E) -> Com_1(f2(A, F, C, D, E)) :|: 0 >= A f0(A, B, C, D, E) -> Com_1(f0(1 + 3 * A, B, F, H, G)) :|: A >= 1 && A >= 2 * G + 1 && 3 * A >= 3 * F && 3 * F >= 3 * A && F >= 2 * G + 1 && F >= 1 f0(A, B, C, D, E) -> Com_1(f0(1 + 3 * A, B, F, H, G)) :|: A >= 1 && A >= 2 * G + 1 && 3 * A >= 3 * F && 3 * F >= 3 * A && 2 * G >= F + 1 && F >= 1 f0(A, B, C, D, E) -> Com_1(f0(1 + 3 * A, B, F, H, G)) :|: A >= 1 && 2 * G >= A + 1 && 3 * A >= 3 * F && 3 * F >= 3 * A && F >= 2 * G + 1 && F >= 1 f0(A, B, C, D, E) -> Com_1(f0(1 + 3 * A, B, F, H, G)) :|: A >= 1 && 2 * G >= A + 1 && 3 * A >= 3 * F && 3 * F >= 3 * A && 2 * G >= F + 1 && F >= 1 f0(A, B, C, D, E) -> Com_1(f0(F, B, C, H, F)) :|: 2 * F >= 1 && G >= 1 && A >= 2 * F && A <= 2 * F f1(A, B, C, D, E) -> Com_1(f0(A, B, C, D, E)) :|: TRUE The start-symbols are:[f1_5] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f1 0: f0 -> f2 : B'=free, [ 0>=A ], cost: 1 1: f0 -> f0 : A'=1+3*A, C'=free_1, D'=free_3, E'=free_2, [ A>=1 && A>=1+2*free_2 && 3*A>=3*free_1 && 3*free_1>=3*A && free_1>=1+2*free_2 && free_1>=1 ], cost: 1 2: f0 -> f0 : A'=1+3*A, C'=free_4, D'=free_6, E'=free_5, [ A>=1 && A>=1+2*free_5 && 3*A>=3*free_4 && 3*free_4>=3*A && 2*free_5>=1+free_4 && free_4>=1 ], cost: 1 3: f0 -> f0 : A'=1+3*A, C'=free_7, D'=free_9, E'=free_8, [ A>=1 && 2*free_8>=1+A && 3*A>=3*free_7 && 3*free_7>=3*A && free_7>=1+2*free_8 && free_7>=1 ], cost: 1 4: f0 -> f0 : A'=1+3*A, C'=free_10, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && 3*A>=3*free_10 && 3*free_10>=3*A && 2*free_11>=1+free_10 && free_10>=1 ], cost: 1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && free_14>=1 && A==2*free_13 ], cost: 1 6: f1 -> f0 : [], cost: 1 Removed unreachable and leaf rules: Start location: f1 1: f0 -> f0 : A'=1+3*A, C'=free_1, D'=free_3, E'=free_2, [ A>=1 && A>=1+2*free_2 && 3*A>=3*free_1 && 3*free_1>=3*A && free_1>=1+2*free_2 && free_1>=1 ], cost: 1 2: f0 -> f0 : A'=1+3*A, C'=free_4, D'=free_6, E'=free_5, [ A>=1 && A>=1+2*free_5 && 3*A>=3*free_4 && 3*free_4>=3*A && 2*free_5>=1+free_4 && free_4>=1 ], cost: 1 3: f0 -> f0 : A'=1+3*A, C'=free_7, D'=free_9, E'=free_8, [ A>=1 && 2*free_8>=1+A && 3*A>=3*free_7 && 3*free_7>=3*A && free_7>=1+2*free_8 && free_7>=1 ], cost: 1 4: f0 -> f0 : A'=1+3*A, C'=free_10, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && 3*A>=3*free_10 && 3*free_10>=3*A && 2*free_11>=1+free_10 && free_10>=1 ], cost: 1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && free_14>=1 && A==2*free_13 ], cost: 1 6: f1 -> f0 : [], cost: 1 Removed rules with unsatisfiable guard: Start location: f1 1: f0 -> f0 : A'=1+3*A, C'=free_1, D'=free_3, E'=free_2, [ A>=1 && A>=1+2*free_2 && 3*A>=3*free_1 && 3*free_1>=3*A && free_1>=1+2*free_2 && free_1>=1 ], cost: 1 4: f0 -> f0 : A'=1+3*A, C'=free_10, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && 3*A>=3*free_10 && 3*free_10>=3*A && 2*free_11>=1+free_10 && free_10>=1 ], cost: 1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && free_14>=1 && A==2*free_13 ], cost: 1 6: f1 -> f0 : [], cost: 1 Simplified all rules, resulting in: Start location: f1 1: f0 -> f0 : A'=1+3*A, C'=A, D'=free_3, E'=free_2, [ A>=1 && A>=1+2*free_2 ], cost: 1 4: f0 -> f0 : A'=1+3*A, C'=A, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A ], cost: 1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && A==2*free_13 ], cost: 1 6: f1 -> f0 : [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 0. Accelerating the following rules: 1: f0 -> f0 : A'=1+3*A, C'=A, D'=free_3, E'=free_2, [ A>=1 && A>=1+2*free_2 ], cost: 1 4: f0 -> f0 : A'=1+3*A, C'=A, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A ], cost: 1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && A==2*free_13 ], cost: 1 Accelerated rule 1 with NONTERM, yielding the new rule 7. Accelerated rule 4 with backward acceleration, yielding the new rule 8. Accelerated rule 5 with NONTERM (after strengthening guard), yielding the new rule 9. Removing the simple loops: 1 4. Accelerated all simple loops using metering functions (where possible): Start location: f1 5: f0 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && A==2*free_13 ], cost: 1 7: f0 -> [3] : [ A>=1 && A>=1+2*free_2 ], cost: INF 8: f0 -> f0 : A'=-1/2+A*3^k+1/2*3^k, C'=-1/2+1/3*A*3^k+1/6*3^k, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && k>0 && -1/2+3^(-1+k)*A+1/2*3^(-1+k)>=1 && 2*free_11>=1/2+3^(-1+k)*A+1/2*3^(-1+k) ], cost: k 9: f0 -> [3] : [ 2*free_13>=1 && A==2*free_13 && free_13==2*free_13 ], cost: INF 6: f1 -> f0 : [], cost: 1 Chained accelerated rules (with incoming rules): Start location: f1 6: f1 -> f0 : [], cost: 1 10: f1 -> f0 : A'=free_13, D'=free_15, E'=free_13, [ 2*free_13>=1 && A==2*free_13 ], cost: 2 11: f1 -> [3] : [ A>=1 && A>=1+2*free_2 ], cost: INF 12: f1 -> f0 : A'=-1/2+A*3^k+1/2*3^k, C'=-1/2+1/3*A*3^k+1/6*3^k, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && k>0 && -1/2+3^(-1+k)*A+1/2*3^(-1+k)>=1 && 2*free_11>=1/2+3^(-1+k)*A+1/2*3^(-1+k) ], cost: 1+k Removed unreachable locations (and leaf rules with constant cost): Start location: f1 11: f1 -> [3] : [ A>=1 && A>=1+2*free_2 ], cost: INF 12: f1 -> f0 : A'=-1/2+A*3^k+1/2*3^k, C'=-1/2+1/3*A*3^k+1/6*3^k, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && k>0 && -1/2+3^(-1+k)*A+1/2*3^(-1+k)>=1 && 2*free_11>=1/2+3^(-1+k)*A+1/2*3^(-1+k) ], cost: 1+k ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f1 11: f1 -> [3] : [ A>=1 && A>=1+2*free_2 ], cost: INF 12: f1 -> f0 : A'=-1/2+A*3^k+1/2*3^k, C'=-1/2+1/3*A*3^k+1/6*3^k, D'=free_12, E'=free_11, [ A>=1 && 2*free_11>=1+A && k>0 && -1/2+3^(-1+k)*A+1/2*3^(-1+k)>=1 && 2*free_11>=1/2+3^(-1+k)*A+1/2*3^(-1+k) ], cost: 1+k Computing asymptotic complexity for rule 11 Resulting cost INF has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: INF Rule cost: INF Rule guard: [ A>=1 && A>=1+2*free_2 ] NO ---------------------------------------- (2) BOUNDS(INF, INF)