/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, 287 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_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_8, J'=free_10, K'=free_5, L'=free_7, M'=free_12, N'=free_9, O'=free_6, P'=free_11, [ free_13>=1 && 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_17, J'=free_19, K'=free_14, L'=free_16, M'=free_20, N'=free_18, O'=free_15, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_24, J'=free_26, K'=free_21, L'=free_23, M'=free_28, N'=free_25, O'=free_22, P'=free_27, Q_1'=256, [ free_29>=1 && G>=1+F && G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_33, J'=free_35, K'=free_30, L'=free_32, M'=free_36, N'=free_34, O'=free_31, [ 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_42, F'=free_44, G'=free_39, H'=free_41, Q'=free_46, J'=free_43, K'=free_40, L'=free_45, M'=Q_1, N'=H, O'=H, P'=H, Q_1'=free_47, [ 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_51, F'=free_53, G'=free_48, H'=free_50, Q'=free_55, J'=free_52, K'=free_49, L'=free_54, M'=Q_1, N'=H, O'=H, P'=H, Q_1'=free_56, [ 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_60, F'=free_62, G'=free_57, H'=free_59, Q'=free_64, J'=free_61, K'=free_58, L'=free_63, M'=Q_1, N'=Q_1, O'=Q_1, P'=Q_1, Q_1'=free_65, [ 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_69, F'=free_71, G'=free_66, H'=free_68, Q'=free_73, J'=free_70, K'=free_67, L'=free_72, M'=Q_1, N'=Q_1, O'=Q_1, P'=Q_1, Q_1'=free_74, [ Q_1>=1 && 255>=Q_1 && G>=1+F && G>=2+F ], cost: 1 Removed unreachable and leaf rules: Start location: f300 0: f300 -> f1 : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_8, J'=free_10, K'=free_5, L'=free_7, M'=free_12, N'=free_9, O'=free_6, P'=free_11, [ free_13>=1 && 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_17, J'=free_19, K'=free_14, L'=free_16, M'=free_20, N'=free_18, O'=free_15, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_24, J'=free_26, K'=free_21, L'=free_23, M'=free_28, N'=free_25, O'=free_22, P'=free_27, Q_1'=256, [ free_29>=1 && G>=1+F && G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_33, J'=free_35, K'=free_30, L'=free_32, M'=free_36, N'=free_34, O'=free_31, [ 0>=Q_1 && G>=1+F && G>=2+F ], cost: 1 Simplified all rules, resulting in: Start location: f300 0: f300 -> f1 : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [], cost: 1 1: f1 -> f1 : H'=256, Q'=free_8, J'=free_10, K'=free_5, L'=free_7, M'=free_12, N'=free_9, O'=free_6, P'=free_11, [ 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_17, J'=free_19, K'=free_14, L'=free_16, M'=free_20, N'=free_18, O'=free_15, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_24, J'=free_26, K'=free_21, L'=free_23, M'=free_28, N'=free_25, O'=free_22, P'=free_27, Q_1'=256, [ G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_33, J'=free_35, K'=free_30, L'=free_32, M'=free_36, N'=free_34, O'=free_31, [ 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_8, J'=free_10, K'=free_5, L'=free_7, M'=free_12, N'=free_9, O'=free_6, P'=free_11, [ 1+F==G && H==256 ], cost: 1 2: f1 -> f1 : Q'=free_17, J'=free_19, K'=free_14, L'=free_16, M'=free_20, N'=free_18, O'=free_15, [ 0>=H && 1+F==G ], cost: 1 3: f1 -> f1 : Q'=free_24, J'=free_26, K'=free_21, L'=free_23, M'=free_28, N'=free_25, O'=free_22, P'=free_27, Q_1'=256, [ G>=2+F && Q_1==256 ], cost: 1 4: f1 -> f1 : Q'=free_33, J'=free_35, K'=free_30, L'=free_32, M'=free_36, N'=free_34, O'=free_31, [ 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_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [], cost: 1 10: f1 -> [4] : [ 1+F==G && H==256 ], cost: INF 11: f1 -> [4] : [ 0>=H && 1+F==G ], cost: INF 12: f1 -> [4] : [ G>=2+F && Q_1==256 ], cost: INF 13: f1 -> [4] : [ 0>=Q_1 && G>=2+F ], cost: INF Chained accelerated rules (with incoming rules): Start location: f300 0: f300 -> f1 : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [], cost: 1 14: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 1+F==G && H==256 ], cost: INF 15: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=H && 1+F==G ], cost: INF 16: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ G>=2+F && Q_1==256 ], cost: INF 17: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=Q_1 && G>=2+F ], cost: INF Removed unreachable locations (and leaf rules with constant cost): Start location: f300 14: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 1+F==G && H==256 ], cost: INF 15: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=H && 1+F==G ], cost: INF 16: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ G>=2+F && Q_1==256 ], cost: INF 17: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=Q_1 && G>=2+F ], cost: INF ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: f300 14: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 1+F==G && H==256 ], cost: INF 15: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=H && 1+F==G ], cost: INF 16: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ G>=2+F && Q_1==256 ], cost: INF 17: f300 -> [4] : A'=free_2, B'=free_3, C'=free, D'=free_1, E'=free_4, [ 0>=Q_1 && G>=2+F ], cost: INF Computing asymptotic complexity for rule 14 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: [ 1+F==G && H==256 ] NO ---------------------------------------- (2) BOUNDS(INF, INF)