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