/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, 394 ms] (2) BOUNDS(INF, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: f300(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f1(V, W, X, Y, Z, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)) :|: TRUE f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f1(A, B, C, D, E, F, G, 256, V, W, X, Y, Z, B1, C1, D1, Q, R, S, T, U)) :|: A1 >= 1 && F + 1 >= G && F + 1 <= G && H >= 256 && H <= 256 f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f1(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, P, Q, R, S, T, U)) :|: 0 >= H && F + 1 >= G && F + 1 <= G f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f1(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, D1, 256, R, S, T, U)) :|: A1 >= 1 && G >= 1 + F && G >= 2 + F && Q >= 256 && Q <= 256 f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f1(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, P, Q, R, S, T, U)) :|: 0 >= Q && G >= 1 + F && G >= 2 + F f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f2(A, B, C, D, E, F, G, H, V, W, K, L, M, N, O, P, Q, 0, 0, 0, U)) :|: F >= G f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f3(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, D1, Q, H, H, H, A1)) :|: H >= 1 && H >= 257 && F + 1 >= G && F + 1 <= G f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f3(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, D1, Q, H, H, H, A1)) :|: H >= 1 && 255 >= H && F + 1 >= G && F + 1 <= G f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f3(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, D1, Q, Q, Q, Q, A1)) :|: Q >= 1 && Q >= 257 && G >= 1 + F && G >= 2 + F f1(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U) -> Com_1(f3(A, B, C, D, E, F, G, H, V, W, X, Y, Z, B1, C1, D1, Q, Q, Q, Q, A1)) :|: Q >= 1 && 255 >= Q && G >= 1 + F && G >= 2 + F The start-symbols are:[f300_21] ---------------------------------------- (1) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: f300 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_7, J'=free_10, K'=free_13, L'=free_6, M'=free_9, N'=free_8, O'=free_5, P'=free_11, [ free_12>=1 && 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_16, J'=free_19, K'=free_20, L'=free_15, M'=free_18, N'=free_17, O'=free_14, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_23, J'=free_26, K'=free_29, L'=free_22, M'=free_25, N'=free_24, O'=free_21, P'=free_27, Q_1'=256, [ free_28>=1 && G>=1+F && G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_32, J'=free_35, K'=free_36, L'=free_31, M'=free_34, N'=free_33, O'=free_30, [ 0>=Q_1 && G>=1+F && G>=2+F ], cost: 1 5: f1 -> f2 : A1'=B, B'=C, B1'=D, C'=E, C1'=F, D'=G, D1'=H, E'=free_37, F'=free_38, G'=K, H'=L, Q'=M, J'=N, K'=O, L'=P, M'=Q_1, N'=0, O'=0, P'=0, Q_1'=U, [ F>=G ], cost: 1 6: f1 -> f3 : A1'=B, B'=C, B1'=D, C'=E, C1'=F, D'=G, D1'=H, E'=free_41, F'=free_44, G'=free_47, H'=free_40, Q'=free_43, J'=free_42, K'=free_39, L'=free_45, M'=Q_1, N'=H, O'=H, P'=H, Q_1'=free_46, [ H>=1 && H>=257 && 1+F==G ], cost: 1 7: f1 -> f3 : A1'=B, B'=C, B1'=D, C'=E, C1'=F, D'=G, D1'=H, E'=free_50, F'=free_53, G'=free_56, H'=free_49, Q'=free_52, J'=free_51, K'=free_48, L'=free_54, M'=Q_1, N'=H, O'=H, P'=H, Q_1'=free_55, [ H>=1 && 255>=H && 1+F==G ], cost: 1 8: f1 -> f3 : A1'=B, B'=C, B1'=D, C'=E, C1'=F, D'=G, D1'=H, E'=free_59, F'=free_62, G'=free_65, H'=free_58, Q'=free_61, J'=free_60, K'=free_57, L'=free_63, M'=Q_1, N'=Q_1, O'=Q_1, P'=Q_1, Q_1'=free_64, [ Q_1>=1 && Q_1>=257 && G>=1+F && G>=2+F ], cost: 1 9: f1 -> f3 : A1'=B, B'=C, B1'=D, C'=E, C1'=F, D'=G, D1'=H, E'=free_68, F'=free_71, G'=free_74, H'=free_67, Q'=free_70, J'=free_69, K'=free_66, L'=free_72, M'=Q_1, N'=Q_1, O'=Q_1, P'=Q_1, Q_1'=free_73, [ Q_1>=1 && 255>=Q_1 && G>=1+F && G>=2+F ], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 Removed unreachable and leaf rules: Start location: f300 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_7, J'=free_10, K'=free_13, L'=free_6, M'=free_9, N'=free_8, O'=free_5, P'=free_11, [ free_12>=1 && 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_16, J'=free_19, K'=free_20, L'=free_15, M'=free_18, N'=free_17, O'=free_14, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_23, J'=free_26, K'=free_29, L'=free_22, M'=free_25, N'=free_24, O'=free_21, P'=free_27, Q_1'=256, [ free_28>=1 && G>=1+F && G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_32, J'=free_35, K'=free_36, L'=free_31, M'=free_34, N'=free_33, O'=free_30, [ 0>=Q_1 && G>=1+F && G>=2+F ], cost: 1 Simplified all rules, resulting in: Start location: f300 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_7, J'=free_10, K'=free_13, L'=free_6, M'=free_9, N'=free_8, O'=free_5, P'=free_11, [ 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_16, J'=free_19, K'=free_20, L'=free_15, M'=free_18, N'=free_17, O'=free_14, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_23, J'=free_26, K'=free_29, L'=free_22, M'=free_25, N'=free_24, O'=free_21, P'=free_27, Q_1'=256, [ G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_32, J'=free_35, K'=free_36, L'=free_31, M'=free_34, N'=free_33, O'=free_30, [ 0>=Q_1 && G>=2+F ], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 1. Accelerating the following rules: 1: f1 -> f1 : H'=256, Q'=free_7, J'=free_10, K'=free_13, L'=free_6, M'=free_9, N'=free_8, O'=free_5, P'=free_11, [ 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_16, J'=free_19, K'=free_20, L'=free_15, M'=free_18, N'=free_17, O'=free_14, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_23, J'=free_26, K'=free_29, L'=free_22, M'=free_25, N'=free_24, O'=free_21, P'=free_27, Q_1'=256, [ G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_32, J'=free_35, K'=free_36, L'=free_31, M'=free_34, N'=free_33, O'=free_30, [ 0>=Q_1 && G>=2+F ], cost: 1 Accelerated rule 1 with NONTERM, yielding the new rule 10. Accelerated rule 2 with NONTERM, yielding the new rule 11. Accelerated rule 3 with NONTERM, yielding the new rule 12. Accelerated rule 4 with NONTERM, yielding the new rule 13. Removing the simple loops: 1 2 3 4. Accelerated all simple loops using metering functions (where possible): Start location: f300 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 10: f1 -> [4] : [ 1+F==G && H==256 ], cost: NONTERM 11: f1 -> [4] : [ 0>=H && 1+F==G ], cost: NONTERM 12: f1 -> [4] : [ G>=2+F && Q_1==256 ], cost: NONTERM 13: f1 -> [4] : [ 0>=Q_1 && G>=2+F ], cost: NONTERM Chained accelerated rules (with incoming rules): Start location: f300 0: f300 -> f1 : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [], cost: 1 14: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 1+F==G && H==256 ], cost: NONTERM 15: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=H && 1+F==G ], cost: NONTERM 16: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ G>=2+F && Q_1==256 ], cost: NONTERM 17: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=Q_1 && G>=2+F ], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: f300 14: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 1+F==G && H==256 ], cost: NONTERM 15: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=H && 1+F==G ], cost: NONTERM 16: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ G>=2+F && Q_1==256 ], cost: NONTERM 17: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=Q_1 && G>=2+F ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f300 14: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 1+F==G && H==256 ], cost: NONTERM 15: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=H && 1+F==G ], cost: NONTERM 16: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ G>=2+F && Q_1==256 ], cost: NONTERM 17: f300 -> [4] : A'=free_1, B'=free_3, C'=free_4, D'=free, E'=free_2, [ 0>=Q_1 && G>=2+F ], 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: [ 1+F==G && H==256 ] NO ---------------------------------------- (2) BOUNDS(INF, INF)