/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: 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, 609 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f21(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f29(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)) :|: 0 >= A f41(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f41(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)) :|: TRUE f43(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f46(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)) :|: TRUE f29(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f41(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)) :|: A >= 1 f29(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f41(A, B, P, 0, P, P, G, H, I, J, K, L, M, N, O)) :|: 0 >= A && 999 + B >= P f29(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f41(1, B, P, 0, P, P, G, H, I, J, K, L, M, N, O)) :|: 0 >= A && P >= B + 1000 f21(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f29(0, P, P, D, E, F, 0, P, I, J, K, L, M, N, O)) :|: A >= 1 f0(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f21(1, B, C, D, E, F, G, H, P, P, K, L, M, N, O)) :|: 0 >= P f0(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f21(1, B, C, D, E, F, G, H, P, 0, 1, Q, Q, Q, Q)) :|: P >= 1 && Q >= 1 f0(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O) -> Com_1(f41(1, B, C, D, E, F, G, H, P, 0, 1, Q, Q, Q, Q)) :|: P >= 1 && 0 >= Q The start-symbols are:[f0_15] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f0 0: f21 -> f29 : [ 0>=A ], cost: 1 6: f21 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, [ A>=1 ], cost: 1 1: f41 -> f41 : [], cost: 1 2: f43 -> f46 : [], cost: 1 3: f29 -> f41 : [ A>=1 ], cost: 1 4: f29 -> f41 : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: 1 5: f29 -> f41 : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: 1 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 8: f0 -> f21 : A'=1, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 1 9: f0 -> f41 : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 Removed unreachable and leaf rules: Start location: f0 0: f21 -> f29 : [ 0>=A ], cost: 1 6: f21 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, [ A>=1 ], cost: 1 1: f41 -> f41 : [], cost: 1 3: f29 -> f41 : [ A>=1 ], cost: 1 4: f29 -> f41 : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: 1 5: f29 -> f41 : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: 1 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 8: f0 -> f21 : A'=1, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 1 9: f0 -> f41 : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 1: f41 -> f41 : [], cost: 1 Accelerated rule 1 with NONTERM, yielding the new rule 10. Removing the simple loops: 1. Accelerated all simple loops using metering functions (where possible): Start location: f0 0: f21 -> f29 : [ 0>=A ], cost: 1 6: f21 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, [ A>=1 ], cost: 1 10: f41 -> [6] : [], cost: NONTERM 3: f29 -> f41 : [ A>=1 ], cost: 1 4: f29 -> f41 : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: 1 5: f29 -> f41 : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: 1 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 8: f0 -> f21 : A'=1, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 1 9: f0 -> f41 : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: 1 Chained accelerated rules (with incoming rules): Start location: f0 0: f21 -> f29 : [ 0>=A ], cost: 1 6: f21 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, [ A>=1 ], cost: 1 3: f29 -> f41 : [ A>=1 ], cost: 1 4: f29 -> f41 : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: 1 5: f29 -> f41 : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: 1 11: f29 -> [6] : [ A>=1 ], cost: NONTERM 12: f29 -> [6] : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: NONTERM 13: f29 -> [6] : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: NONTERM 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 8: f0 -> f21 : A'=1, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 1 9: f0 -> f41 : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: 1 14: f0 -> [6] : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: f0 0: f21 -> f29 : [ 0>=A ], cost: 1 6: f21 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, [ A>=1 ], cost: 1 11: f29 -> [6] : [ A>=1 ], cost: NONTERM 12: f29 -> [6] : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: NONTERM 13: f29 -> [6] : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: NONTERM 7: f0 -> f21 : A'=1, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 1 8: f0 -> f21 : A'=1, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 1 14: f0 -> [6] : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: f0 11: f29 -> [6] : [ A>=1 ], cost: NONTERM 12: f29 -> [6] : C'=free, D'=0, E'=free, F'=free, [ 0>=A && 999+B>=free ], cost: NONTERM 13: f29 -> [6] : A'=1, C'=free_1, D'=0, E'=free_1, F'=free_1, [ 0>=A && free_1>=1000+B ], cost: NONTERM 14: f0 -> [6] : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: NONTERM 15: f0 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, Q'=free_3, J'=free_3, [ 0>=free_3 ], cost: 2 16: f0 -> f29 : A'=0, B'=free_2, C'=free_2, G'=0, H'=free_2, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: f0 14: f0 -> [6] : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: NONTERM 17: f0 -> [6] : A'=0, B'=free_2, C'=free, D'=0, E'=free, F'=free, G'=0, H'=free_2, Q'=free_3, J'=free_3, [ 0>=free_3 && 999+free_2>=free ], cost: NONTERM 18: f0 -> [6] : A'=1, B'=free_2, C'=free_1, D'=0, E'=free_1, F'=free_1, G'=0, H'=free_2, Q'=free_3, J'=free_3, [ 0>=free_3 && free_1>=1000+free_2 ], cost: NONTERM 19: f0 -> [6] : A'=0, B'=free_2, C'=free, D'=0, E'=free, F'=free, G'=0, H'=free_2, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 && 999+free_2>=free ], cost: NONTERM 20: f0 -> [6] : A'=1, B'=free_2, C'=free_1, D'=0, E'=free_1, F'=free_1, G'=0, H'=free_2, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 && free_1>=1000+free_2 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f0 14: f0 -> [6] : A'=1, Q'=free_6, J'=0, K'=1, L'=free_7, M'=free_7, N'=free_7, O'=free_7, [ free_6>=1 && 0>=free_7 ], cost: NONTERM 17: f0 -> [6] : A'=0, B'=free_2, C'=free, D'=0, E'=free, F'=free, G'=0, H'=free_2, Q'=free_3, J'=free_3, [ 0>=free_3 && 999+free_2>=free ], cost: NONTERM 18: f0 -> [6] : A'=1, B'=free_2, C'=free_1, D'=0, E'=free_1, F'=free_1, G'=0, H'=free_2, Q'=free_3, J'=free_3, [ 0>=free_3 && free_1>=1000+free_2 ], cost: NONTERM 19: f0 -> [6] : A'=0, B'=free_2, C'=free, D'=0, E'=free, F'=free, G'=0, H'=free_2, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 && 999+free_2>=free ], cost: NONTERM 20: f0 -> [6] : A'=1, B'=free_2, C'=free_1, D'=0, E'=free_1, F'=free_1, G'=0, H'=free_2, Q'=free_4, J'=0, K'=1, L'=free_5, M'=free_5, N'=free_5, O'=free_5, [ free_4>=1 && free_5>=1 && free_1>=1000+free_2 ], cost: NONTERM Computing asymptotic complexity for rule 14 Guard is satisfiable, yielding nontermination Resulting cost NONTERM 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: NONTERM Rule cost: NONTERM Rule guard: [ free_6>=1 && 0>=free_7 ] NO ---------------------------------------- (2) BOUNDS(INF, INF)