14.26/5.55 MAYBE 14.26/5.56 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 14.26/5.56 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.26/5.56 14.26/5.56 14.26/5.56 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, INF). 14.26/5.56 14.26/5.56 (0) CpxIntTrs 14.26/5.56 (1) Loat Proof [FINISHED, 3935 ms] 14.26/5.56 (2) BOUNDS(1, INF) 14.26/5.56 14.26/5.56 14.26/5.56 ---------------------------------------- 14.26/5.56 14.26/5.56 (0) 14.26/5.56 Obligation: 14.26/5.56 Complexity Int TRS consisting of the following rules: 14.26/5.56 f0(A, B, C, D, E, F, G) -> Com_1(f10(1, 1, H, 0, 2, 1, G)) :|: H >= 0 14.26/5.56 f10(A, B, C, D, E, F, G) -> Com_1(f21(A, B - 1, C, D, E, F, 0)) :|: F >= 1 && E >= F && B >= 1 && 0 >= C 14.26/5.56 f10(A, B, C, D, E, F, G) -> Com_1(f21(A + 1, A + 1, H, D, E, F, I)) :|: I >= 0 && 1 >= I && H >= 0 && F >= 1 && E >= F && 0 >= B && 0 >= C 14.26/5.56 f10(A, B, C, D, E, F, G) -> Com_1(f21(A, B, C - 1, D, E, F, H)) :|: H >= 0 && 1 >= H && F >= 1 && C >= 1 && E >= F 14.26/5.56 f21(A, B, C, D, E, F, G) -> Com_1(f10(A, B, C, D, E, F - 1, G)) :|: E + 1 >= A && 0 >= G 14.26/5.56 f21(A, B, C, D, E, F, G) -> Com_1(f10(A, B, C, D, E, F + 1, G)) :|: E + 1 >= A && G >= 1 14.26/5.56 f10(A, B, C, D, E, F, G) -> Com_1(f32(A, B, C, D, E, F, G)) :|: 0 >= F && E >= F 14.26/5.56 f10(A, B, C, D, E, F, G) -> Com_1(f32(A, B, C, D, E, F, G)) :|: F >= 1 + E 14.26/5.56 14.26/5.56 The start-symbols are:[f0_7] 14.26/5.56 14.26/5.56 14.26/5.56 ---------------------------------------- 14.26/5.56 14.26/5.56 (1) Loat Proof (FINISHED) 14.26/5.56 14.26/5.56 14.26/5.56 ### Pre-processing the ITS problem ### 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Initial linear ITS problem 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 0: f0 -> f10 : A'=1, B'=1, C'=free, D'=0, E'=2, F'=1, [ free>=0 ], cost: 1 14.26/5.56 14.26/5.56 1: f10 -> f21 : B'=-1+B, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C ], cost: 1 14.26/5.56 14.26/5.56 2: f10 -> f21 : A'=1+A, B'=1+A, C'=free_2, G'=free_1, [ free_1>=0 && 1>=free_1 && free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C ], cost: 1 14.26/5.56 14.26/5.56 3: f10 -> f21 : C'=-1+C, G'=free_3, [ free_3>=0 && 1>=free_3 && F>=1 && C>=1 && E>=F ], cost: 1 14.26/5.56 14.26/5.56 6: f10 -> f32 : [ 0>=F && E>=F ], cost: 1 14.26/5.56 14.26/5.56 7: f10 -> f32 : [ F>=1+E ], cost: 1 14.26/5.56 14.26/5.56 4: f21 -> f10 : F'=-1+F, [ 1+E>=A && 0>=G ], cost: 1 14.26/5.56 14.26/5.56 5: f21 -> f10 : F'=1+F, [ 1+E>=A && G>=1 ], cost: 1 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Removed unreachable and leaf rules: 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 0: f0 -> f10 : A'=1, B'=1, C'=free, D'=0, E'=2, F'=1, [ free>=0 ], cost: 1 14.26/5.56 14.26/5.56 1: f10 -> f21 : B'=-1+B, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C ], cost: 1 14.26/5.56 14.26/5.56 2: f10 -> f21 : A'=1+A, B'=1+A, C'=free_2, G'=free_1, [ free_1>=0 && 1>=free_1 && free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C ], cost: 1 14.26/5.56 14.26/5.56 3: f10 -> f21 : C'=-1+C, G'=free_3, [ free_3>=0 && 1>=free_3 && F>=1 && C>=1 && E>=F ], cost: 1 14.26/5.56 14.26/5.56 4: f21 -> f10 : F'=-1+F, [ 1+E>=A && 0>=G ], cost: 1 14.26/5.56 14.26/5.56 5: f21 -> f10 : F'=1+F, [ 1+E>=A && G>=1 ], cost: 1 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 ### Simplification by acceleration and chaining ### 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Eliminated locations (on tree-shaped paths): 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 0: f0 -> f10 : A'=1, B'=1, C'=free, D'=0, E'=2, F'=1, [ free>=0 ], cost: 1 14.26/5.56 14.26/5.56 8: f10 -> f10 : B'=-1+B, F'=-1+F, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C && 1+E>=A ], cost: 2 14.26/5.56 14.26/5.56 9: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=-1+F, G'=free_1, [ free_1>=0 && free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A && 0>=free_1 ], cost: 2 14.26/5.56 14.26/5.56 10: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=1+F, G'=free_1, [ 1>=free_1 && free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A && free_1>=1 ], cost: 2 14.26/5.56 14.26/5.56 11: f10 -> f10 : C'=-1+C, F'=-1+F, G'=free_3, [ free_3>=0 && F>=1 && C>=1 && E>=F && 1+E>=A && 0>=free_3 ], cost: 2 14.26/5.56 14.26/5.56 12: f10 -> f10 : C'=-1+C, F'=1+F, G'=free_3, [ 1>=free_3 && F>=1 && C>=1 && E>=F && 1+E>=A && free_3>=1 ], cost: 2 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Accelerating simple loops of location 1. 14.26/5.56 14.26/5.56 Simplified some of the simple loops (and removed duplicate rules). 14.26/5.56 14.26/5.56 Accelerating the following rules: 14.26/5.56 14.26/5.56 8: f10 -> f10 : B'=-1+B, F'=-1+F, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C && 1+E>=A ], cost: 2 14.26/5.56 14.26/5.56 9: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=-1+F, G'=0, [ free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A ], cost: 2 14.26/5.56 14.26/5.56 10: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=1+F, G'=1, [ free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A ], cost: 2 14.26/5.56 14.26/5.56 11: f10 -> f10 : C'=-1+C, F'=-1+F, G'=0, [ F>=1 && C>=1 && E>=F && 1+E>=A ], cost: 2 14.26/5.56 14.26/5.56 12: f10 -> f10 : C'=-1+C, F'=1+F, G'=1, [ F>=1 && C>=1 && E>=F && 1+E>=A ], cost: 2 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Accelerated rule 8 with metering function F (after adding B>=F), yielding the new rule 13. 14.26/5.56 14.26/5.56 Accelerated rule 8 with metering function B (after adding B<=F), yielding the new rule 14. 14.26/5.56 14.26/5.56 Found no metering function for rule 9. 14.26/5.56 14.26/5.56 Found no metering function for rule 10. 14.26/5.56 14.26/5.56 Accelerated rule 11 with metering function F (after adding C>=F), yielding the new rule 15. 14.26/5.56 14.26/5.56 Accelerated rule 11 with metering function C (after adding C<=F), yielding the new rule 16. 14.26/5.56 14.26/5.56 Accelerated rule 12 with backward acceleration, yielding the new rule 17. 14.26/5.56 14.26/5.56 Accelerated rule 12 with backward acceleration, yielding the new rule 18. 14.26/5.56 14.26/5.56 During metering: Instantiating temporary variables by {free_2==1} 14.26/5.56 14.26/5.56 During metering: Instantiating temporary variables by {free_2==1} 14.26/5.56 14.26/5.56 Removing the simple loops: 8 11 12. 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Accelerated all simple loops using metering functions (where possible): 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 0: f0 -> f10 : A'=1, B'=1, C'=free, D'=0, E'=2, F'=1, [ free>=0 ], cost: 1 14.26/5.56 14.26/5.56 9: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=-1+F, G'=0, [ free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A ], cost: 2 14.26/5.56 14.26/5.56 10: f10 -> f10 : A'=1+A, B'=1+A, C'=free_2, F'=1+F, G'=1, [ free_2>=0 && F>=1 && E>=F && 0>=B && 0>=C && 1+E>=1+A ], cost: 2 14.26/5.56 14.26/5.56 13: f10 -> f10 : B'=-F+B, F'=0, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C && 1+E>=A && B>=F ], cost: 2*F 14.26/5.56 14.26/5.56 14: f10 -> f10 : B'=0, F'=F-B, G'=0, [ F>=1 && E>=F && B>=1 && 0>=C && 1+E>=A && B<=F ], cost: 2*B 14.26/5.56 14.26/5.56 15: f10 -> f10 : C'=-F+C, F'=0, G'=0, [ F>=1 && C>=1 && E>=F && 1+E>=A && C>=F ], cost: 2*F 14.26/5.56 14.26/5.56 16: f10 -> f10 : C'=0, F'=F-C, G'=0, [ F>=1 && C>=1 && E>=F && 1+E>=A && C<=F ], cost: 2*C 14.26/5.56 14.26/5.56 17: f10 -> f10 : C'=0, F'=F+C, G'=1, [ F>=1 && C>=1 && E>=F && 1+E>=A && -1+F+C>=1 && E>=-1+F+C ], cost: 2*C 14.26/5.56 14.26/5.56 18: f10 -> f10 : C'=-1+F+C-E, F'=1+E, G'=1, [ F>=1 && C>=1 && E>=F && 1+E>=A && E>=1 && F+C-E>=1 ], cost: 2-2*F+2*E 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Chained accelerated rules (with incoming rules): 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 0: f0 -> f10 : A'=1, B'=1, C'=free, D'=0, E'=2, F'=1, [ free>=0 ], cost: 1 14.26/5.56 14.26/5.56 19: f0 -> f10 : A'=1, B'=0, C'=0, D'=0, E'=2, F'=0, G'=0, [], cost: 3 14.26/5.56 14.26/5.56 20: f0 -> f10 : A'=1, B'=0, C'=0, D'=0, E'=2, F'=0, G'=0, [], cost: 3 14.26/5.56 14.26/5.56 21: f0 -> f10 : A'=1, B'=1, C'=-1+free, D'=0, E'=2, F'=0, G'=0, [ free>=1 ], cost: 3 14.26/5.56 14.26/5.56 22: f0 -> f10 : A'=1, B'=1, C'=0, D'=0, E'=2, F'=0, G'=0, [], cost: 3 14.26/5.56 14.26/5.56 23: f0 -> f10 : A'=1, B'=1, C'=0, D'=0, E'=2, F'=1+free, G'=1, [ free>=1 && 2>=free ], cost: 1+2*free 14.26/5.56 14.26/5.56 24: f0 -> f10 : A'=1, B'=1, C'=-2+free, D'=0, E'=2, F'=3, G'=1, [ -1+free>=1 ], cost: 5 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Removed unreachable locations (and leaf rules with constant cost): 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 23: f0 -> f10 : A'=1, B'=1, C'=0, D'=0, E'=2, F'=1+free, G'=1, [ free>=1 && 2>=free ], cost: 1+2*free 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 ### Computing asymptotic complexity ### 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Fully simplified ITS problem 14.26/5.56 14.26/5.56 Start location: f0 14.26/5.56 14.26/5.56 23: f0 -> f10 : A'=1, B'=1, C'=0, D'=0, E'=2, F'=1+free, G'=1, [ free>=1 && 2>=free ], cost: 1+2*free 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Computing asymptotic complexity for rule 23 14.26/5.56 14.26/5.56 Could not solve the limit problem. 14.26/5.56 14.26/5.56 Resulting cost 0 has complexity: Unknown 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 Obtained the following overall complexity (w.r.t. the length of the input n): 14.26/5.56 14.26/5.56 Complexity: Unknown 14.26/5.56 14.26/5.56 Cpx degree: ? 14.26/5.56 14.26/5.56 Solved cost: 0 14.26/5.56 14.26/5.56 Rule cost: 0 14.26/5.56 14.26/5.56 Rule guard: [] 14.26/5.56 14.26/5.56 14.26/5.56 14.26/5.56 WORST_CASE(Omega(0),?) 14.26/5.56 14.26/5.56 14.26/5.56 ---------------------------------------- 14.26/5.56 14.26/5.56 (2) 14.26/5.56 BOUNDS(1, INF) 14.26/5.58 EOF