6.62/3.57 WORST_CASE(?, O(n^2)) 6.62/3.57 proof of /export/starexec/sandbox/benchmark/theBenchmark.koat 6.62/3.57 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.62/3.57 6.62/3.57 6.62/3.57 The runtime complexity of the given CpxIntTrs could be proven to be BOUNDS(1, n^2). 6.62/3.57 6.62/3.57 (0) CpxIntTrs 6.62/3.57 (1) Koat Proof [FINISHED, 293 ms] 6.62/3.57 (2) BOUNDS(1, n^2) 6.62/3.57 6.62/3.57 6.62/3.57 ---------------------------------------- 6.62/3.57 6.62/3.57 (0) 6.62/3.57 Obligation: 6.62/3.57 Complexity Int TRS consisting of the following rules: 6.62/3.57 eval_loops_start(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb0_in(v_n, v_x_0, v_y_0)) :|: TRUE 6.62/3.57 eval_loops_bb0_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_0(v_n, v_x_0, v_y_0)) :|: TRUE 6.62/3.57 eval_loops_0(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_1(v_n, v_x_0, v_y_0)) :|: TRUE 6.62/3.57 eval_loops_1(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_2(v_n, v_x_0, v_y_0)) :|: TRUE 6.62/3.57 eval_loops_2(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb1_in(v_n, v_n, v_y_0)) :|: v_n >= 0 6.62/3.57 eval_loops_2(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb6_in(v_n, v_x_0, v_y_0)) :|: v_n < 0 6.62/3.57 eval_loops_bb1_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb2_in(v_n, v_x_0, v_y_0)) :|: v_x_0 >= 0 6.62/3.57 eval_loops_bb1_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb6_in(v_n, v_x_0, v_y_0)) :|: v_x_0 < 0 6.62/3.57 eval_loops_bb2_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb3_in(v_n, v_x_0, 1)) :|: 1 < v_x_0 6.62/3.57 eval_loops_bb2_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb5_in(v_n, v_x_0, v_y_0)) :|: 1 >= v_x_0 6.62/3.57 eval_loops_bb3_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb4_in(v_n, v_x_0, v_y_0)) :|: v_y_0 < v_x_0 6.62/3.57 eval_loops_bb3_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb5_in(v_n, v_x_0, v_y_0)) :|: v_y_0 >= v_x_0 6.62/3.57 eval_loops_bb4_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb3_in(v_n, v_x_0, 2 * v_y_0)) :|: TRUE 6.62/3.57 eval_loops_bb5_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_bb1_in(v_n, v_x_0 - 1, v_y_0)) :|: TRUE 6.62/3.57 eval_loops_bb6_in(v_n, v_x_0, v_y_0) -> Com_1(eval_loops_stop(v_n, v_x_0, v_y_0)) :|: TRUE 6.62/3.57 6.62/3.57 The start-symbols are:[eval_loops_start_3] 6.62/3.57 6.62/3.57 6.62/3.57 ---------------------------------------- 6.62/3.57 6.62/3.57 (1) Koat Proof (FINISHED) 6.62/3.57 YES(?, 50*ar_0 + 8*ar_0^2 + 52) 6.62/3.57 6.62/3.57 6.62/3.57 6.62/3.57 Initial complexity problem: 6.62/3.57 6.62/3.57 1: T: 6.62/3.57 6.62/3.57 (Comp: ?, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.62/3.58 6.62/3.58 start location: koat_start 6.62/3.58 6.62/3.58 leaf cost: 0 6.62/3.58 6.62/3.58 6.62/3.58 6.62/3.58 Repeatedly propagating knowledge in problem 1 produces the following problem: 6.62/3.58 6.62/3.58 2: T: 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.62/3.58 6.62/3.58 start location: koat_start 6.62/3.58 6.62/3.58 leaf cost: 0 6.62/3.58 6.62/3.58 6.62/3.58 6.62/3.58 A polynomial rank function with 6.62/3.58 6.62/3.58 Pol(evalloopsstart) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb0in) = 2 6.62/3.58 6.62/3.58 Pol(evalloops0) = 2 6.62/3.58 6.62/3.58 Pol(evalloops1) = 2 6.62/3.58 6.62/3.58 Pol(evalloops2) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb1in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb6in) = 1 6.62/3.58 6.62/3.58 Pol(evalloopsbb2in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb3in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb5in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb4in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsstop) = 0 6.62/3.58 6.62/3.58 Pol(koat_start) = 2 6.62/3.58 6.62/3.58 orients all transitions weakly and the transitions 6.62/3.58 6.62/3.58 evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 strictly and produces the following problem: 6.62/3.58 6.62/3.58 3: T: 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.62/3.58 6.62/3.58 start location: koat_start 6.62/3.58 6.62/3.58 leaf cost: 0 6.62/3.58 6.62/3.58 6.62/3.58 6.62/3.58 A polynomial rank function with 6.62/3.58 6.62/3.58 Pol(evalloopsbb5in) = 2*V_2 6.62/3.58 6.62/3.58 Pol(evalloopsbb1in) = 2*V_2 + 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb4in) = 2*V_2 6.62/3.58 6.62/3.58 Pol(evalloopsbb3in) = 2*V_2 6.62/3.58 6.62/3.58 Pol(evalloopsbb2in) = 2*V_2 + 1 6.62/3.58 6.62/3.58 and size complexities 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-2) = 1 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-1) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 orients the transitions 6.62/3.58 6.62/3.58 evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 weakly and the transitions 6.62/3.58 6.62/3.58 evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 strictly and produces the following problem: 6.62/3.58 6.62/3.58 4: T: 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.62/3.58 6.62/3.58 start location: koat_start 6.62/3.58 6.62/3.58 leaf cost: 0 6.62/3.58 6.62/3.58 6.62/3.58 6.62/3.58 Repeatedly propagating knowledge in problem 4 produces the following problem: 6.62/3.58 6.62/3.58 5: T: 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 (Comp: ?, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.62/3.58 6.62/3.58 start location: koat_start 6.62/3.58 6.62/3.58 leaf cost: 0 6.62/3.58 6.62/3.58 6.62/3.58 6.62/3.58 A polynomial rank function with 6.62/3.58 6.62/3.58 Pol(evalloopsbb5in) = 1 6.62/3.58 6.62/3.58 Pol(evalloopsbb1in) = 0 6.62/3.58 6.62/3.58 Pol(evalloopsbb4in) = 2 6.62/3.58 6.62/3.58 Pol(evalloopsbb3in) = 2 6.62/3.58 6.62/3.58 and size complexities 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2))", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ]", 0-2) = 1 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-1) = ? 6.62/3.58 6.62/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ]", 0-2) = ? 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-1) = ar_0 6.62/3.58 6.62/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.62/3.58 6.62/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.62/3.58 6.62/3.58 orients the transitions 6.62/3.58 6.62/3.58 evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.62/3.58 6.62/3.58 weakly and the transitions 6.62/3.58 6.62/3.58 evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.62/3.58 6.62/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.62/3.58 6.62/3.58 strictly and produces the following problem: 6.62/3.58 6.62/3.58 6: T: 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_1 >= 0 ] 6.62/3.58 6.62/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_1 + 1 ] 6.62/3.58 6.62/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_1 >= 2 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ 1 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_1 >= ar_2 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.73/3.58 6.73/3.58 start location: koat_start 6.73/3.58 6.73/3.58 leaf cost: 0 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 Applied AI with 'oct' on problem 6 to obtain the following invariants: 6.73/3.58 6.73/3.58 For symbol evalloopsbb1in: X_1 - X_2 >= 0 /\ X_1 >= 0 6.73/3.58 6.73/3.58 For symbol evalloopsbb2in: X_1 - X_2 >= 0 /\ X_2 >= 0 /\ X_1 + X_2 >= 0 /\ X_1 >= 0 6.73/3.58 6.73/3.58 For symbol evalloopsbb3in: X_3 - 1 >= 0 /\ X_2 + X_3 - 3 >= 0 /\ X_1 + X_3 - 3 >= 0 /\ X_1 - X_2 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 4 >= 0 /\ X_1 - 2 >= 0 6.73/3.58 6.73/3.58 For symbol evalloopsbb4in: X_2 - X_3 - 1 >= 0 /\ X_1 - X_3 - 1 >= 0 /\ X_3 - 1 >= 0 /\ X_2 + X_3 - 3 >= 0 /\ X_1 + X_3 - 3 >= 0 /\ X_1 - X_2 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 4 >= 0 /\ X_1 - 2 >= 0 6.73/3.58 6.73/3.58 For symbol evalloopsbb5in: X_1 - X_2 >= 0 /\ X_2 >= 0 /\ X_1 + X_2 >= 0 /\ X_1 >= 0 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 This yielded the following problem: 6.73/3.58 6.73/3.58 7: T: 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.73/3.58 6.73/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: ?, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_0 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_2 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: ?, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_1 >= ar_2 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 /\ 1 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 /\ ar_1 >= 2 ] 6.73/3.58 6.73/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_0 >= 0 /\ 0 >= ar_1 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_0 >= 0 /\ ar_1 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 start location: koat_start 6.73/3.58 6.73/3.58 leaf cost: 0 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 A polynomial rank function with 6.73/3.58 6.73/3.58 Pol(evalloopsbb4in) = 2*V_2 - 2*V_3 - 1 6.73/3.58 6.73/3.58 Pol(evalloopsbb3in) = 2*V_2 - 2*V_3 6.73/3.58 6.73/3.58 and size complexities 6.73/3.58 6.73/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2))", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-1) = ar_0 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ]", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ]", 0-2) = ar_2 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 0 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 0 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 0 ]", 0-2) = 2*ar_0 + 2*ar_2 + 16 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ 0 >= ar_1 + 1 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ 0 >= ar_1 + 1 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_0 >= 0 /\\ 0 >= ar_1 + 1 ]", 0-2) = 2*ar_0 + 2*ar_2 + 32 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 2 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 2 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ ar_1 >= 2 ]", 0-2) = 1 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ 1 >= ar_1 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ 1 >= ar_1 ]", 0-1) = 1 6.73/3.58 6.73/3.58 S("evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 /\\ 1 >= ar_1 ]", 0-2) = 2*ar_0 + 2*ar_2 + 16 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_1 >= ar_2 + 1 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_1 >= ar_2 + 1 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_1 >= ar_2 + 1 ]", 0-2) = 2*ar_0 + 10 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_2 >= ar_1 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_2 >= ar_1 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 /\\ ar_2 >= ar_1 ]", 0-2) = 2*ar_0 + 8 6.73/3.58 6.73/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_0 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_0 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_0 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 3 >= 0 /\\ ar_0 - ar_1 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 4 >= 0 /\\ ar_0 - 2 >= 0 ]", 0-2) = 2*ar_0 + 4 6.73/3.58 6.73/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 ]", 0-1) = ar_0 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) [ ar_0 - ar_1 >= 0 /\\ ar_1 >= 0 /\\ ar_0 + ar_1 >= 0 /\\ ar_0 >= 0 ]", 0-2) = 2*ar_0 + 2*ar_2 + 16 6.73/3.58 6.73/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-1) = ar_0 + ar_1 + 2 6.73/3.58 6.73/3.58 S("evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2))", 0-2) = 2*ar_0 + 2*ar_2 + 64 6.73/3.58 6.73/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-0) = ar_0 6.73/3.58 6.73/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-1) = ar_1 6.73/3.58 6.73/3.58 S("koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ]", 0-2) = ar_2 6.73/3.58 6.73/3.58 orients the transitions 6.73/3.58 6.73/3.58 evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_0 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 ] 6.73/3.58 6.73/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_1 >= ar_2 + 1 ] 6.73/3.58 6.73/3.58 weakly and the transitions 6.73/3.58 6.73/3.58 evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_0 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 ] 6.73/3.58 6.73/3.58 evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_1 >= ar_2 + 1 ] 6.73/3.58 6.73/3.58 strictly and produces the following problem: 6.73/3.58 6.73/3.58 8: T: 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2) -> Com_1(evalloopsstart(ar_0, ar_1, ar_2)) [ 0 <= 0 ] 6.73/3.58 6.73/3.58 (Comp: 2, Cost: 1) evalloopsbb6in(ar_0, ar_1, ar_2) -> Com_1(evalloopsstop(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb5in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_1 - 1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 4*ar_0^2 + 16*ar_0 + 12, Cost: 1) evalloopsbb4in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 2*ar_2)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_0 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 6*ar_0 + 6, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_2 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: 4*ar_0^2 + 16*ar_0 + 12, Cost: 1) evalloopsbb3in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb4in(ar_0, ar_1, ar_2)) [ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 3 >= 0 /\ ar_0 - ar_1 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 4 >= 0 /\ ar_0 - 2 >= 0 /\ ar_1 >= ar_2 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb5in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 /\ 1 >= ar_1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb2in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb3in(ar_0, ar_1, 1)) [ ar_0 - ar_1 >= 0 /\ ar_1 >= 0 /\ ar_0 + ar_1 >= 0 /\ ar_0 >= 0 /\ ar_1 >= 2 ] 6.73/3.58 6.73/3.58 (Comp: 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_0 >= 0 /\ 0 >= ar_1 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 2*ar_0 + 2, Cost: 1) evalloopsbb1in(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb2in(ar_0, ar_1, ar_2)) [ ar_0 - ar_1 >= 0 /\ ar_0 >= 0 /\ ar_1 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb6in(ar_0, ar_1, ar_2)) [ 0 >= ar_0 + 1 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops2(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb1in(ar_0, ar_0, ar_2)) [ ar_0 >= 0 ] 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops1(ar_0, ar_1, ar_2) -> Com_1(evalloops2(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloops0(ar_0, ar_1, ar_2) -> Com_1(evalloops1(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloopsbb0in(ar_0, ar_1, ar_2) -> Com_1(evalloops0(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 (Comp: 1, Cost: 1) evalloopsstart(ar_0, ar_1, ar_2) -> Com_1(evalloopsbb0in(ar_0, ar_1, ar_2)) 6.73/3.58 6.73/3.58 start location: koat_start 6.73/3.58 6.73/3.58 leaf cost: 0 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 Complexity upper bound 50*ar_0 + 8*ar_0^2 + 52 6.73/3.58 6.73/3.58 6.73/3.58 6.73/3.58 Time: 0.343 sec (SMT: 0.290 sec) 6.73/3.58 6.73/3.58 6.73/3.58 ---------------------------------------- 6.73/3.58 6.73/3.58 (2) 6.73/3.58 BOUNDS(1, n^2) 6.74/3.61 EOF