4.69/2.16 WORST_CASE(NON_POLY, ?) 4.69/2.17 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 4.69/2.17 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 4.69/2.17 4.69/2.17 4.69/2.17 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(INF, INF). 4.69/2.17 4.69/2.17 (0) CpxIntTrs 4.69/2.17 (1) Loat Proof [FINISHED, 506 ms] 4.69/2.17 (2) BOUNDS(INF, INF) 4.69/2.17 4.69/2.17 4.69/2.17 ---------------------------------------- 4.69/2.17 4.69/2.17 (0) 4.69/2.17 Obligation: 4.69/2.17 Complexity Int TRS consisting of the following rules: 4.69/2.17 f18(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f24(A, B, C, D, E, F, G, H, I, J, K)) :|: 0 >= A 4.69/2.17 f32(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f32(A, B, C, D, E, F, G, H, I, J, K)) :|: TRUE 4.69/2.17 f34(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f37(A, B, C, D, E, F, G, H, I, J, K)) :|: TRUE 4.69/2.17 f24(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f32(A, L, C, D, E, F, G, H, I, J, K)) :|: A >= 1 4.69/2.17 f24(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f32(A, M, C, L, L, F, G, H, I, J, K)) :|: 0 >= A && 999 + C >= L 4.69/2.17 f24(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f32(1, M, C, L, L, F, G, H, I, J, K)) :|: 0 >= A && L >= C + 1000 4.69/2.17 f18(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f24(0, B, L, D, E, L, G, H, I, J, K)) :|: A >= 1 4.69/2.17 f0(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f18(1, B, C, D, E, F, L, M, I, J, K)) :|: 0 >= M 4.69/2.17 f0(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f18(1, B, C, D, E, F, L, 0, 1, M, M)) :|: M >= 1 && N >= 1 4.69/2.17 f0(A, B, C, D, E, F, G, H, I, J, K) -> Com_1(f32(1, B, C, D, E, F, L, 0, 1, M, M)) :|: 0 >= M && N >= 1 4.69/2.17 4.69/2.17 The start-symbols are:[f0_11] 4.69/2.17 4.69/2.17 4.69/2.17 ---------------------------------------- 4.69/2.17 4.69/2.17 (1) Loat Proof (FINISHED) 4.69/2.17 4.69/2.17 4.69/2.17 ### Pre-processing the ITS problem ### 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Initial linear ITS problem 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 1: f32 -> f32 : [], cost: 1 4.69/2.17 4.69/2.17 2: f34 -> f37 : [], cost: 1 4.69/2.17 4.69/2.17 3: f24 -> f32 : B'=free, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 4: f24 -> f32 : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: 1 4.69/2.17 4.69/2.17 5: f24 -> f32 : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: 1 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && free_10>=1 ], cost: 1 4.69/2.17 4.69/2.17 9: f0 -> f32 : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 && free_13>=1 ], cost: 1 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Removed unreachable and leaf rules: 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 1: f32 -> f32 : [], cost: 1 4.69/2.17 4.69/2.17 3: f24 -> f32 : B'=free, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 4: f24 -> f32 : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: 1 4.69/2.17 4.69/2.17 5: f24 -> f32 : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: 1 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && free_10>=1 ], cost: 1 4.69/2.17 4.69/2.17 9: f0 -> f32 : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 && free_13>=1 ], cost: 1 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Simplified all rules, resulting in: 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 1: f32 -> f32 : [], cost: 1 4.69/2.17 4.69/2.17 3: f24 -> f32 : B'=free, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 4: f24 -> f32 : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: 1 4.69/2.17 4.69/2.17 5: f24 -> f32 : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: 1 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 ], cost: 1 4.69/2.17 4.69/2.17 9: f0 -> f32 : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: 1 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 ### Simplification by acceleration and chaining ### 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Accelerating simple loops of location 1. 4.69/2.17 4.69/2.17 Accelerating the following rules: 4.69/2.17 4.69/2.17 1: f32 -> f32 : [], cost: 1 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Accelerated rule 1 with NONTERM, yielding the new rule 10. 4.69/2.17 4.69/2.17 Removing the simple loops: 1. 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Accelerated all simple loops using metering functions (where possible): 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 10: f32 -> [6] : [], cost: INF 4.69/2.17 4.69/2.17 3: f24 -> f32 : B'=free, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 4: f24 -> f32 : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: 1 4.69/2.17 4.69/2.17 5: f24 -> f32 : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: 1 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 ], cost: 1 4.69/2.17 4.69/2.17 9: f0 -> f32 : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: 1 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Chained accelerated rules (with incoming rules): 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 3: f24 -> f32 : B'=free, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 4: f24 -> f32 : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: 1 4.69/2.17 4.69/2.17 5: f24 -> f32 : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: 1 4.69/2.17 4.69/2.17 11: f24 -> [6] : B'=free, [ A>=1 ], cost: INF 4.69/2.17 4.69/2.17 12: f24 -> [6] : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 13: f24 -> [6] : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: INF 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 ], cost: 1 4.69/2.17 4.69/2.17 9: f0 -> f32 : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: 1 4.69/2.17 4.69/2.17 14: f0 -> [6] : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: INF 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Removed unreachable locations (and leaf rules with constant cost): 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 0: f18 -> f24 : [ 0>=A ], cost: 1 4.69/2.17 4.69/2.17 6: f18 -> f24 : A'=0, C'=free_5, F'=free_5, [ A>=1 ], cost: 1 4.69/2.17 4.69/2.17 11: f24 -> [6] : B'=free, [ A>=1 ], cost: INF 4.69/2.17 4.69/2.17 12: f24 -> [6] : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 13: f24 -> [6] : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: INF 4.69/2.17 4.69/2.17 7: f0 -> f18 : A'=1, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 1 4.69/2.17 4.69/2.17 8: f0 -> f18 : A'=1, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 ], cost: 1 4.69/2.17 4.69/2.17 14: f0 -> [6] : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: INF 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Eliminated locations (on tree-shaped paths): 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 11: f24 -> [6] : B'=free, [ A>=1 ], cost: INF 4.69/2.17 4.69/2.17 12: f24 -> [6] : B'=free_1, D'=free_2, E'=free_2, [ 0>=A && 999+C>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 13: f24 -> [6] : A'=1, B'=free_3, D'=free_4, E'=free_4, [ 0>=A && free_4>=1000+C ], cost: INF 4.69/2.17 4.69/2.17 14: f0 -> [6] : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: INF 4.69/2.17 4.69/2.17 15: f0 -> f24 : A'=0, C'=free_5, F'=free_5, G'=free_6, H'=free_7, [ 0>=free_7 ], cost: 2 4.69/2.17 4.69/2.17 16: f0 -> f24 : A'=0, C'=free_5, F'=free_5, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 ], cost: 2 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Eliminated locations (on tree-shaped paths): 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 14: f0 -> [6] : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: INF 4.69/2.17 4.69/2.17 17: f0 -> [6] : A'=0, B'=free_1, C'=free_5, D'=free_2, E'=free_2, F'=free_5, G'=free_6, H'=free_7, [ 0>=free_7 && 999+free_5>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 18: f0 -> [6] : A'=1, B'=free_3, C'=free_5, D'=free_4, E'=free_4, F'=free_5, G'=free_6, H'=free_7, [ 0>=free_7 && free_4>=1000+free_5 ], cost: INF 4.69/2.17 4.69/2.17 19: f0 -> [6] : A'=0, B'=free_1, C'=free_5, D'=free_2, E'=free_2, F'=free_5, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && 999+free_5>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 20: f0 -> [6] : A'=1, B'=free_3, C'=free_5, D'=free_4, E'=free_4, F'=free_5, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && free_4>=1000+free_5 ], cost: INF 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 ### Computing asymptotic complexity ### 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Fully simplified ITS problem 4.69/2.17 4.69/2.17 Start location: f0 4.69/2.17 4.69/2.17 14: f0 -> [6] : A'=1, G'=free_11, H'=0, Q'=1, J'=free_12, K'=free_12, [ 0>=free_12 ], cost: INF 4.69/2.17 4.69/2.17 17: f0 -> [6] : A'=0, B'=free_1, C'=free_5, D'=free_2, E'=free_2, F'=free_5, G'=free_6, H'=free_7, [ 0>=free_7 && 999+free_5>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 18: f0 -> [6] : A'=1, B'=free_3, C'=free_5, D'=free_4, E'=free_4, F'=free_5, G'=free_6, H'=free_7, [ 0>=free_7 && free_4>=1000+free_5 ], cost: INF 4.69/2.17 4.69/2.17 19: f0 -> [6] : A'=0, B'=free_1, C'=free_5, D'=free_2, E'=free_2, F'=free_5, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && 999+free_5>=free_2 ], cost: INF 4.69/2.17 4.69/2.17 20: f0 -> [6] : A'=1, B'=free_3, C'=free_5, D'=free_4, E'=free_4, F'=free_5, G'=free_8, H'=0, Q'=1, J'=free_9, K'=free_9, [ free_9>=1 && free_4>=1000+free_5 ], cost: INF 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Computing asymptotic complexity for rule 14 4.69/2.17 4.69/2.17 Resulting cost INF has complexity: Nonterm 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Found new complexity Nonterm. 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 Obtained the following overall complexity (w.r.t. the length of the input n): 4.69/2.17 4.69/2.17 Complexity: Nonterm 4.69/2.17 4.69/2.17 Cpx degree: Nonterm 4.69/2.17 4.69/2.17 Solved cost: INF 4.69/2.17 4.69/2.17 Rule cost: INF 4.69/2.17 4.69/2.17 Rule guard: [ 0>=free_12 ] 4.69/2.17 4.69/2.17 4.69/2.17 4.69/2.17 NO 4.69/2.17 4.69/2.17 4.69/2.17 ---------------------------------------- 4.69/2.17 4.69/2.17 (2) 4.69/2.17 BOUNDS(INF, INF) 4.69/2.18 EOF