/export/starexec/sandbox/solver/bin/starexec_run_complexity /export/starexec/sandbox/benchmark/theBenchmark.koat /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^2)) 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(n^1, n^2). (0) CpxIntTrs (1) Koat Proof [FINISHED, 1519 ms] (2) BOUNDS(1, n^2) (3) Loat Proof [FINISHED, 924 ms] (4) BOUNDS(n^1, INF) ---------------------------------------- (0) Obligation: Complexity Int TRS consisting of the following rules: eval_start_start(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb0_in(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_bb0_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_0(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_0(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_1(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_1(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_2(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_2(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_3(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_3(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb1_in(v_dir, v_i_0, v_m, v_n)) :|: 0 < v_m eval_start_3(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb6_in(v_dir, v_i_0, v_m, v_n)) :|: 0 >= v_m eval_start_bb1_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb2_in(v_dir, v_m, v_m, v_n)) :|: v_m < v_n eval_start_bb1_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb5_in(v_dir, v_i_0, v_m, v_n)) :|: v_m >= v_n eval_start_bb2_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb3_in(v_dir, v_i_0, v_m, v_n)) :|: 0 < v_i_0 && v_i_0 < v_n eval_start_bb2_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb4_in(v_dir, v_i_0, v_m, v_n)) :|: 0 >= v_i_0 eval_start_bb2_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb4_in(v_dir, v_i_0, v_m, v_n)) :|: v_i_0 >= v_n eval_start_bb3_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb2_in(v_dir, v_i_0 + 1, v_m, v_n)) :|: v_dir >= 1 && v_dir <= 1 eval_start_bb3_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb2_in(v_dir, v_i_0 - 1, v_m, v_n)) :|: v_dir < 1 eval_start_bb3_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_bb2_in(v_dir, v_i_0 - 1, v_m, v_n)) :|: v_dir > 1 eval_start_bb4_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_stop(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_bb5_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_8(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_8(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_9(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_9(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_stop(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_bb6_in(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_10(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_10(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_11(v_dir, v_i_0, v_m, v_n)) :|: TRUE eval_start_11(v_dir, v_i_0, v_m, v_n) -> Com_1(eval_start_stop(v_dir, v_i_0, v_m, v_n)) :|: TRUE The start-symbols are:[eval_start_start_4] ---------------------------------------- (1) Koat Proof (FINISHED) YES(?, 10*ar_0 + 4*ar_1 + 4*ar_0*ar_1 + 4*ar_0^2 + 26) Initial complexity problem: 1: T: (Comp: ?, Cost: 1) evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: ?, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: ?, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_1 >= ar_0 + 1 ] (Comp: ?, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) (Comp: ?, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Repeatedly propagating knowledge in problem 1 produces the following problem: 2: T: (Comp: 1, Cost: 1) evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalstartstart) = 2 Pol(evalstartbb0in) = 2 Pol(evalstart0) = 2 Pol(evalstart1) = 2 Pol(evalstart2) = 2 Pol(evalstart3) = 2 Pol(evalstartbb1in) = 2 Pol(evalstartbb6in) = 0 Pol(evalstartbb2in) = 2 Pol(evalstartbb5in) = 0 Pol(evalstartbb3in) = 2 Pol(evalstartbb4in) = 1 Pol(evalstartstop) = 0 Pol(evalstart8) = 0 Pol(evalstart9) = 0 Pol(evalstart10) = 0 Pol(evalstart11) = 0 Pol(koat_start) = 2 orients all transitions weakly and the transitions evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= ar_1 ] evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_2 ] strictly and produces the following problem: 3: T: (Comp: 1, Cost: 1) evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_2 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_2 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_3 >= 2 ] (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Applied AI with 'oct' on problem 3 to obtain the following invariants: For symbol evalstart10: -X_1 >= 0 For symbol evalstart11: -X_1 >= 0 For symbol evalstart8: X_1 - X_2 >= 0 /\ X_1 - 1 >= 0 For symbol evalstart9: X_1 - X_2 >= 0 /\ X_1 - 1 >= 0 For symbol evalstartbb1in: X_1 - 1 >= 0 For symbol evalstartbb2in: X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalstartbb3in: X_2 - X_3 - 1 >= 0 /\ X_3 - 1 >= 0 /\ X_2 + X_3 - 3 >= 0 /\ X_1 + X_3 - 2 >= 0 /\ X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalstartbb4in: X_2 - 2 >= 0 /\ X_1 + X_2 - 3 >= 0 /\ -X_1 + X_2 - 1 >= 0 /\ X_1 - 1 >= 0 For symbol evalstartbb5in: X_1 - X_2 >= 0 /\ X_1 - 1 >= 0 For symbol evalstartbb6in: -X_1 >= 0 This yielded the following problem: 4: T: (Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) start location: koat_start leaf cost: 0 By chaining the transition koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstart(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] with all transitions in problem 4, the following new transition is obtained: koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] We thus obtain the following problem: 5: T: (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 5: evalstartstart(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 6: T: (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] with all transitions in problem 6, the following new transition is obtained: evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] We thus obtain the following problem: 7: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb4in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] with all transitions in problem 7, the following new transition is obtained: evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] We thus obtain the following problem: 8: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 1) evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 8: evalstartbb4in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 9: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart9(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] with all transitions in problem 9, the following new transition is obtained: evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 10: T: (Comp: 1, Cost: 2) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 1, Cost: 1) evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 10: evalstart9(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 11: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 2) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart8(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] with all transitions in problem 11, the following new transition is obtained: evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 12: T: (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 2) evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 12: evalstart8(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 13: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart11(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] with all transitions in problem 13, the following new transition is obtained: evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] We thus obtain the following problem: 14: T: (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 1) evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 14: evalstart11(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] We thus obtain the following problem: 15: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 ] with all transitions in problem 15, the following new transition is obtained: evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] We thus obtain the following problem: 16: T: (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb5in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 ] with all transitions in problem 16, the following new transition is obtained: evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] We thus obtain the following problem: 17: T: (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 1, Cost: 3) evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 17: evalstartbb5in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - ar_1 >= 0 /\ ar_0 - 1 >= 0 ] We thus obtain the following problem: 18: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart10(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] with all transitions in problem 18, the following new transition is obtained: evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] We thus obtain the following problem: 19: T: (Comp: 1, Cost: 3) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 2) evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 19: evalstart10(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] We thus obtain the following problem: 20: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 3) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb6in(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 ] with all transitions in problem 20, the following new transition is obtained: evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] We thus obtain the following problem: 21: T: (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 3) evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 21: evalstartbb6in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ -ar_0 >= 0 ] We thus obtain the following problem: 22: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart2(ar_0, ar_1, ar_2, ar_3)) with all transitions in problem 22, the following new transition is obtained: evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 23: T: (Comp: 1, Cost: 2) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 1) evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 23: evalstart2(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 24: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 2) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart1(ar_0, ar_1, ar_2, ar_3)) with all transitions in problem 24, the following new transition is obtained: evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 25: T: (Comp: 1, Cost: 3) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 2) evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 25: evalstart1(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 26: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 3) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart0(ar_0, ar_1, ar_2, ar_3)) with all transitions in problem 26, the following new transition is obtained: evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 27: T: (Comp: 1, Cost: 4) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 3) evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 27: evalstart0(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 28: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) (Comp: 1, Cost: 1) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb0in(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] with all transitions in problem 28, the following new transition is obtained: koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] We thus obtain the following problem: 29: T: (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 29: evalstartbb0in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) We thus obtain the following problem: 30: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 By chaining the transition evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 ] with all transitions in problem 30, the following new transitions are obtained: evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] We thus obtain the following problem: 31: T: (Comp: ?, Cost: 3) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] (Comp: ?, Cost: 2) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Testing for reachability in the complexity graph removes the following transition from problem 31: evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= ar_1 ] We thus obtain the following problem: 32: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 2) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] (Comp: ?, Cost: 3) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalstartbb2in) = 1 Pol(evalstartstop) = 0 Pol(evalstartbb3in) = 1 Pol(evalstartbb1in) = 1 Pol(evalstart3) = 1 Pol(koat_start) = 1 orients all transitions weakly and the transition evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] strictly and produces the following problem: 33: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: ?, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 2) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] (Comp: 1, Cost: 3) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: ?, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalstartbb3in) = 2*V_3 - 1 Pol(evalstartbb2in) = 2*V_3 and size complexities S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-0) = ar_0 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-1) = ar_1 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-2) = ar_2 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-3) = ar_3 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-0) = ar_0 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-1) = ar_1 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-2) = ar_2 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-3) = ar_3 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-0) = ar_0 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-1) = ar_1 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-2) = ar_2 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-3) = ar_3 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-0) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-1) = ar_1 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-2) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-3) = ar_3 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-0) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-1) = ar_1 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-2) = ar_2 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-2) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-2) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-2) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-3) = 1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-2) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-3) = 1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-0) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-1) = ar_1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-2) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-3) = ar_3 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-0) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-1) = ar_1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-2) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-3) = ar_3 orients the transitions evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] weakly and the transitions evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] strictly and produces the following problem: 34: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: ?, Cost: 2) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] (Comp: 1, Cost: 3) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 A polynomial rank function with Pol(evalstartbb3in) = V_2 - V_3 and size complexities S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-0) = ar_0 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-1) = ar_1 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-2) = ar_2 S("koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ]", 0-3) = ar_3 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-0) = ar_0 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-1) = ar_1 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-2) = ar_2 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ]", 0-3) = ar_3 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-0) = ar_0 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-1) = ar_1 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-2) = ar_2 S("evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\\ -ar_0 >= 0 ]", 0-3) = ar_3 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-0) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-1) = ar_1 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-2) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_1 >= ar_0 + 1 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 >= 1 ]", 0-3) = ar_3 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-0) = ar_0 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-1) = ar_1 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-2) = ar_2 S("evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\\ ar_0 >= ar_1 /\\ ar_0 - ar_1 >= 0 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-2) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 >= 2 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-2) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_3 ]", 0-3) = ar_3 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-2) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= ar_1 ]", 0-3) = 1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-0) = ar_0 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-1) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-2) = ar_1 S("evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\\ ar_2 - 1 >= 0 /\\ ar_1 + ar_2 - 3 >= 0 /\\ ar_0 + ar_2 - 2 >= 0 /\\ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_3 = 1 /\\ ar_2 + 1 >= 1 /\\ ar_1 >= ar_2 + 2 ]", 0-3) = 1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-0) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-1) = ar_1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-2) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ ar_2 >= 1 /\\ ar_1 >= ar_2 + 1 ]", 0-3) = ar_3 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-0) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-1) = ar_1 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-2) = ar_0 S("evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\\ ar_0 + ar_1 - 3 >= 0 /\\ -ar_0 + ar_1 - 1 >= 0 /\\ ar_0 - 1 >= 0 /\\ 0 >= ar_2 ]", 0-3) = ar_3 orients the transitions evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] weakly and the transition evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] strictly and produces the following problem: 35: T: (Comp: 2, Cost: 2) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_2 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb2in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2, ar_3)) [ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_2 >= 1 /\ ar_1 >= ar_2 + 1 ] (Comp: 2*ar_1 + 2*ar_0 + 2*ar_0*ar_1 + 2*ar_0^2, Cost: 2) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= 1 /\ ar_1 >= ar_2 + 2 ] (Comp: 1, Cost: 3) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2 + 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 = 1 /\ ar_2 + 1 >= ar_1 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ 0 >= ar_3 ] (Comp: 2*ar_0 + 1, Cost: 1) evalstartbb3in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb2in(ar_0, ar_1, ar_2 - 1, ar_3)) [ ar_1 - ar_2 - 1 >= 0 /\ ar_2 - 1 >= 0 /\ ar_1 + ar_2 - 3 >= 0 /\ ar_0 + ar_2 - 2 >= 0 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 - 1 >= 0 /\ ar_3 >= 2 ] (Comp: 1, Cost: 4) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ ar_0 - 1 >= 0 /\ ar_0 >= ar_1 /\ ar_0 - ar_1 >= 0 ] (Comp: 1, Cost: 2) evalstartbb1in(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb3in(ar_0, ar_1, ar_0, ar_3)) [ ar_0 - 1 >= 0 /\ ar_1 >= ar_0 + 1 /\ ar_1 - 2 >= 0 /\ ar_0 + ar_1 - 3 >= 0 /\ -ar_0 + ar_1 - 1 >= 0 /\ ar_0 >= 1 ] (Comp: 1, Cost: 4) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartstop(ar_0, ar_1, ar_2, ar_3)) [ 0 >= ar_0 /\ -ar_0 >= 0 ] (Comp: 1, Cost: 1) evalstart3(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstartbb1in(ar_0, ar_1, ar_2, ar_3)) [ ar_0 >= 1 ] (Comp: 1, Cost: 5) koat_start(ar_0, ar_1, ar_2, ar_3) -> Com_1(evalstart3(ar_0, ar_1, ar_2, ar_3)) [ 0 <= 0 ] start location: koat_start leaf cost: 0 Complexity upper bound 10*ar_0 + 4*ar_1 + 4*ar_0*ar_1 + 4*ar_0^2 + 26 Time: 1.499 sec (SMT: 1.089 sec) ---------------------------------------- (2) BOUNDS(1, n^2) ---------------------------------------- (3) Loat Proof (FINISHED) ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: evalstartstart 0: evalstartstart -> evalstartbb0in : [], cost: 1 1: evalstartbb0in -> evalstart0 : [], cost: 1 2: evalstart0 -> evalstart1 : [], cost: 1 3: evalstart1 -> evalstart2 : [], cost: 1 4: evalstart2 -> evalstart3 : [], cost: 1 5: evalstart3 -> evalstartbb1in : [ A>=1 ], cost: 1 6: evalstart3 -> evalstartbb6in : [ 0>=A ], cost: 1 7: evalstartbb1in -> evalstartbb2in : C'=A, [ B>=1+A ], cost: 1 8: evalstartbb1in -> evalstartbb5in : [ A>=B ], cost: 1 9: evalstartbb2in -> evalstartbb3in : [ C>=1 && B>=1+C ], cost: 1 10: evalstartbb2in -> evalstartbb4in : [ 0>=C ], cost: 1 11: evalstartbb2in -> evalstartbb4in : [ C>=B ], cost: 1 12: evalstartbb3in -> evalstartbb2in : C'=1+C, [ D==1 ], cost: 1 13: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ 0>=D ], cost: 1 14: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ D>=2 ], cost: 1 15: evalstartbb4in -> evalstartstop : [], cost: 1 16: evalstartbb5in -> evalstart8 : [], cost: 1 17: evalstart8 -> evalstart9 : [], cost: 1 18: evalstart9 -> evalstartstop : [], cost: 1 19: evalstartbb6in -> evalstart10 : [], cost: 1 20: evalstart10 -> evalstart11 : [], cost: 1 21: evalstart11 -> evalstartstop : [], cost: 1 Removed unreachable and leaf rules: Start location: evalstartstart 0: evalstartstart -> evalstartbb0in : [], cost: 1 1: evalstartbb0in -> evalstart0 : [], cost: 1 2: evalstart0 -> evalstart1 : [], cost: 1 3: evalstart1 -> evalstart2 : [], cost: 1 4: evalstart2 -> evalstart3 : [], cost: 1 5: evalstart3 -> evalstartbb1in : [ A>=1 ], cost: 1 7: evalstartbb1in -> evalstartbb2in : C'=A, [ B>=1+A ], cost: 1 9: evalstartbb2in -> evalstartbb3in : [ C>=1 && B>=1+C ], cost: 1 12: evalstartbb3in -> evalstartbb2in : C'=1+C, [ D==1 ], cost: 1 13: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ 0>=D ], cost: 1 14: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ D>=2 ], cost: 1 ### Simplification by acceleration and chaining ### Eliminated locations (on linear paths): Start location: evalstartstart 27: evalstartstart -> evalstartbb2in : C'=A, [ A>=1 && B>=1+A ], cost: 7 9: evalstartbb2in -> evalstartbb3in : [ C>=1 && B>=1+C ], cost: 1 12: evalstartbb3in -> evalstartbb2in : C'=1+C, [ D==1 ], cost: 1 13: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ 0>=D ], cost: 1 14: evalstartbb3in -> evalstartbb2in : C'=-1+C, [ D>=2 ], cost: 1 Eliminated locations (on tree-shaped paths): Start location: evalstartstart 27: evalstartstart -> evalstartbb2in : C'=A, [ A>=1 && B>=1+A ], cost: 7 28: evalstartbb2in -> evalstartbb2in : C'=1+C, [ C>=1 && B>=1+C && D==1 ], cost: 2 29: evalstartbb2in -> evalstartbb2in : C'=-1+C, [ C>=1 && B>=1+C && 0>=D ], cost: 2 30: evalstartbb2in -> evalstartbb2in : C'=-1+C, [ C>=1 && B>=1+C && D>=2 ], cost: 2 Accelerating simple loops of location 7. Accelerating the following rules: 28: evalstartbb2in -> evalstartbb2in : C'=1+C, [ C>=1 && B>=1+C && D==1 ], cost: 2 29: evalstartbb2in -> evalstartbb2in : C'=-1+C, [ C>=1 && B>=1+C && 0>=D ], cost: 2 30: evalstartbb2in -> evalstartbb2in : C'=-1+C, [ C>=1 && B>=1+C && D>=2 ], cost: 2 Accelerated rule 28 with metering function -C+B, yielding the new rule 31. Accelerated rule 29 with metering function C, yielding the new rule 32. Accelerated rule 30 with metering function C, yielding the new rule 33. Removing the simple loops: 28 29 30. Accelerated all simple loops using metering functions (where possible): Start location: evalstartstart 27: evalstartstart -> evalstartbb2in : C'=A, [ A>=1 && B>=1+A ], cost: 7 31: evalstartbb2in -> evalstartbb2in : C'=B, [ C>=1 && B>=1+C && D==1 ], cost: -2*C+2*B 32: evalstartbb2in -> evalstartbb2in : C'=0, [ C>=1 && B>=1+C && 0>=D ], cost: 2*C 33: evalstartbb2in -> evalstartbb2in : C'=0, [ C>=1 && B>=1+C && D>=2 ], cost: 2*C Chained accelerated rules (with incoming rules): Start location: evalstartstart 27: evalstartstart -> evalstartbb2in : C'=A, [ A>=1 && B>=1+A ], cost: 7 34: evalstartstart -> evalstartbb2in : C'=B, [ A>=1 && B>=1+A && D==1 ], cost: 7-2*A+2*B 35: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && 0>=D ], cost: 7+2*A 36: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && D>=2 ], cost: 7+2*A Removed unreachable locations (and leaf rules with constant cost): Start location: evalstartstart 34: evalstartstart -> evalstartbb2in : C'=B, [ A>=1 && B>=1+A && D==1 ], cost: 7-2*A+2*B 35: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && 0>=D ], cost: 7+2*A 36: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && D>=2 ], cost: 7+2*A ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: evalstartstart 34: evalstartstart -> evalstartbb2in : C'=B, [ A>=1 && B>=1+A && D==1 ], cost: 7-2*A+2*B 35: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && 0>=D ], cost: 7+2*A 36: evalstartstart -> evalstartbb2in : C'=0, [ A>=1 && B>=1+A && D>=2 ], cost: 7+2*A Computing asymptotic complexity for rule 34 Solved the limit problem by the following transformations: Created initial limit problem: 2-D (+/+!), D (+/+!), 7-2*A+2*B (+), A (+/+!), -A+B (+/+!) [not solved] applying transformation rule (C) using substitution {D==1} resulting limit problem: 1 (+/+!), 7-2*A+2*B (+), A (+/+!), -A+B (+/+!) [not solved] applying transformation rule (C) using substitution {A==1} resulting limit problem: 1 (+/+!), 5+2*B (+), -1+B (+/+!) [not solved] applying transformation rule (C) using substitution {B==1+A} resulting limit problem: 1 (+/+!), 7+2*A (+), A (+/+!) [not solved] applying transformation rule (B), deleting 1 (+/+!) resulting limit problem: 7+2*A (+), A (+/+!) [not solved] applying transformation rule (D), replacing 7+2*A (+) by 2*A (+) resulting limit problem: 2*A (+), A (+/+!) [not solved] applying transformation rule (A), replacing 2*A (+) by A (+) and 2 (+!) using + limit vector (+,+!) resulting limit problem: 2 (+!), A (+) [not solved] applying transformation rule (B), deleting 2 (+!) resulting limit problem: A (+) [solved] Solution: D / 1 A / 1 B / 1+n Resulting cost 7+2*n has complexity: Poly(n^1) Found new complexity Poly(n^1). Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Poly(n^1) Cpx degree: 1 Solved cost: 7+2*n Rule cost: 7-2*A+2*B Rule guard: [ A>=1 && B>=1+A && D==1 ] WORST_CASE(Omega(n^1),?) ---------------------------------------- (4) BOUNDS(n^1, INF)