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