LTS Termination Proof

by T2Cert

Input

Integer Transition System

Proof

1 Invariant Updates

The following invariants are asserted.

0: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 0x_13_1 ≤ 0x_13_1 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0
1: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 01 − len_48_0 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0a_128_post ≤ 0prev_17_post ≤ 0prev_17_post ≤ 0elem_16_1 ≤ 0elem_16_1 ≤ 0prev_17_1 ≤ 0prev_17_1 ≤ 0prev_17_2 ≤ 0prev_17_2 ≤ 0x_13_2 ≤ 0x_13_2 ≤ 0a_128_0 ≤ 0prev_17_0 ≤ 0prev_17_0 ≤ 0
2: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 0x_13_1 ≤ 0x_13_1 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0
3: TRUE
4: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 01 − len_48_0 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0a_128_post ≤ 0prev_17_post ≤ 0prev_17_post ≤ 0elem_16_1 ≤ 0elem_16_1 ≤ 0prev_17_1 ≤ 0prev_17_1 ≤ 0prev_17_2 ≤ 0prev_17_2 ≤ 0x_13_2 ≤ 0x_13_2 ≤ 0a_128_0 ≤ 0a_243_0 ≤ 0prev_17_0 ≤ 0prev_17_0 ≤ 0
5: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 01 − len_48_0 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0a_128_post ≤ 0elem_16_1 ≤ 0elem_16_1 ≤ 0prev_17_1 ≤ 0prev_17_1 ≤ 0prev_17_2 ≤ 0prev_17_2 ≤ 0x_13_2 ≤ 0x_13_2 ≤ 0a_128_0 ≤ 0a_243_0 ≤ 01 − len_246_0 ≤ 0
6: −17 + length_7_post ≤ 017 − length_7_post ≤ 0head_9_1 ≤ 0head_9_1 ≤ 0i_8_1 ≤ 0i_8_1 ≤ 01 − len_48_0 ≤ 0−17 + length_7_0 ≤ 017 − length_7_0 ≤ 0a_128_post ≤ 0prev_17_post ≤ 0prev_17_post ≤ 0elem_16_1 ≤ 0elem_16_1 ≤ 0prev_17_1 ≤ 0prev_17_1 ≤ 0prev_17_2 ≤ 0prev_17_2 ≤ 0x_13_2 ≤ 0x_13_2 ≤ 0a_128_0 ≤ 0a_243_0 ≤ 0c_15_0 ≤ 0c_15_0 ≤ 0prev_17_0 ≤ 0prev_17_0 ≤ 0k_296_0 ≤ 0
7: TRUE

The invariants are proved as follows.

IMPACT Invariant Proof

2 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
0 9 0: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0
1 16 1: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0
and for every transition t, a duplicate t is considered.

3 Transition Removal

We remove transitions 0, 3, 5, 6, 8 using the following ranking functions, which are bounded by −19.

7: 0
3: 0
0: 0
2: 0
1: 0
4: 0
6: 0
5: 0
7: −7
3: −8
0: −9
2: −9
0_var_snapshot: −9
0*: −9
1: −12
4: −12
1_var_snapshot: −12
1*: −12
6: −13
5: −17

4 Location Addition

The following skip-transition is inserted and corresponding redirections w.r.t. the old location are performed.

0* 12 0: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0

5 Location Addition

The following skip-transition is inserted and corresponding redirections w.r.t. the old location are performed.

0 10 0_var_snapshot: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0

6 Location Addition

The following skip-transition is inserted and corresponding redirections w.r.t. the old location are performed.

1* 19 1: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0

7 Location Addition

The following skip-transition is inserted and corresponding redirections w.r.t. the old location are performed.

1 17 1_var_snapshot: y_80_0 + y_80_0 ≤ 0y_80_0y_80_0 ≤ 0y_309_0 + y_309_0 ≤ 0y_309_0y_309_0 ≤ 0y_259_0 + y_259_0 ≤ 0y_259_0y_259_0 ≤ 0y_158_0 + y_158_0 ≤ 0y_158_0y_158_0 ≤ 0y_14_post + y_14_post ≤ 0y_14_posty_14_post ≤ 0y_14_2 + y_14_2 ≤ 0y_14_2y_14_2 ≤ 0y_14_1 + y_14_1 ≤ 0y_14_1y_14_1 ≤ 0y_14_0 + y_14_0 ≤ 0y_14_0y_14_0 ≤ 0y_110_0 + y_110_0 ≤ 0y_110_0y_110_0 ≤ 0x_23_0 + x_23_0 ≤ 0x_23_0x_23_0 ≤ 0x_13_post + x_13_post ≤ 0x_13_postx_13_post ≤ 0x_13_3 + x_13_3 ≤ 0x_13_3x_13_3 ≤ 0x_13_2 + x_13_2 ≤ 0x_13_2x_13_2 ≤ 0x_13_1 + x_13_1 ≤ 0x_13_1x_13_1 ≤ 0x_13_0 + x_13_0 ≤ 0x_13_0x_13_0 ≤ 0prev_17_post + prev_17_post ≤ 0prev_17_postprev_17_post ≤ 0prev_17_2 + prev_17_2 ≤ 0prev_17_2prev_17_2 ≤ 0prev_17_1 + prev_17_1 ≤ 0prev_17_1prev_17_1 ≤ 0prev_17_0 + prev_17_0 ≤ 0prev_17_0prev_17_0 ≤ 0lt_21_post + lt_21_post ≤ 0lt_21_postlt_21_post ≤ 0lt_21_5 + lt_21_5 ≤ 0lt_21_5lt_21_5 ≤ 0lt_21_4 + lt_21_4 ≤ 0lt_21_4lt_21_4 ≤ 0lt_21_3 + lt_21_3 ≤ 0lt_21_3lt_21_3 ≤ 0lt_21_2 + lt_21_2 ≤ 0lt_21_2lt_21_2 ≤ 0lt_21_1 + lt_21_1 ≤ 0lt_21_1lt_21_1 ≤ 0lt_21_0 + lt_21_0 ≤ 0lt_21_0lt_21_0 ≤ 0lt_20_post + lt_20_post ≤ 0lt_20_postlt_20_post ≤ 0lt_20_1 + lt_20_1 ≤ 0lt_20_1lt_20_1 ≤ 0lt_20_0 + lt_20_0 ≤ 0lt_20_0lt_20_0 ≤ 0lt_19_post + lt_19_post ≤ 0lt_19_postlt_19_post ≤ 0lt_19_1 + lt_19_1 ≤ 0lt_19_1lt_19_1 ≤ 0lt_19_0 + lt_19_0 ≤ 0lt_19_0lt_19_0 ≤ 0lt_18_post + lt_18_post ≤ 0lt_18_postlt_18_post ≤ 0lt_18_1 + lt_18_1 ≤ 0lt_18_1lt_18_1 ≤ 0lt_18_0 + lt_18_0 ≤ 0lt_18_0lt_18_0 ≤ 0length_7_post + length_7_post ≤ 0length_7_postlength_7_post ≤ 0length_7_0 + length_7_0 ≤ 0length_7_0length_7_0 ≤ 0len_48_post + len_48_post ≤ 0len_48_postlen_48_post ≤ 0len_48_0 + len_48_0 ≤ 0len_48_0len_48_0 ≤ 0len_246_post + len_246_post ≤ 0len_246_postlen_246_post ≤ 0len_246_0 + len_246_0 ≤ 0len_246_0len_246_0 ≤ 0k_296_post + k_296_post ≤ 0k_296_postk_296_post ≤ 0k_296_0 + k_296_0 ≤ 0k_296_0k_296_0 ≤ 0i_8_post + i_8_post ≤ 0i_8_posti_8_post ≤ 0i_8_1 + i_8_1 ≤ 0i_8_1i_8_1 ≤ 0i_8_0 + i_8_0 ≤ 0i_8_0i_8_0 ≤ 0head_9_post + head_9_post ≤ 0head_9_posthead_9_post ≤ 0head_9_1 + head_9_1 ≤ 0head_9_1head_9_1 ≤ 0head_9_0 + head_9_0 ≤ 0head_9_0head_9_0 ≤ 0elem_16_post + elem_16_post ≤ 0elem_16_postelem_16_post ≤ 0elem_16_2 + elem_16_2 ≤ 0elem_16_2elem_16_2 ≤ 0elem_16_1 + elem_16_1 ≤ 0elem_16_1elem_16_1 ≤ 0elem_16_0 + elem_16_0 ≤ 0elem_16_0elem_16_0 ≤ 0c_15_post + c_15_post ≤ 0c_15_postc_15_post ≤ 0c_15_3 + c_15_3 ≤ 0c_15_3c_15_3 ≤ 0c_15_2 + c_15_2 ≤ 0c_15_2c_15_2 ≤ 0c_15_1 + c_15_1 ≤ 0c_15_1c_15_1 ≤ 0c_15_0 + c_15_0 ≤ 0c_15_0c_15_0 ≤ 0a_243_post + a_243_post ≤ 0a_243_posta_243_post ≤ 0a_243_0 + a_243_0 ≤ 0a_243_0a_243_0 ≤ 0a_128_post + a_128_post ≤ 0a_128_posta_128_post ≤ 0a_128_0 + a_128_0 ≤ 0a_128_0a_128_0 ≤ 0___0 + ___0 ≤ 0___0___0 ≤ 0Result_6_post + Result_6_post ≤ 0Result_6_postResult_6_post ≤ 0Result_6_0 + Result_6_0 ≤ 0Result_6_0Result_6_0 ≤ 0

8 SCC Decomposition

We consider subproblems for each of the 2 SCC(s) of the program graph.

8.1 SCC Subproblem 1/2

Here we consider the SCC { 1, 4, 1_var_snapshot, 1* }.

8.1.1 Transition Removal

We remove transitions 4, 7 using the following ranking functions, which are bounded by 14.

1: 4⋅a_243_0 + length_7_post
4: −19 + 4⋅a_243_0 + 2⋅length_7_post
1_var_snapshot: −1 + 4⋅a_243_0 + length_7_post
1*: −16 + 4⋅a_243_0 + 2⋅length_7_post

8.1.2 Transition Removal

We remove transitions 17, 19 using the following ranking functions, which are bounded by −1.

1: 0
4: 0
1_var_snapshot: length_7_post
1*: len_48_0

8.1.3 Splitting Cut-Point Transitions

We consider 1 subproblems corresponding to sets of cut-point transitions as follows.

8.1.3.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 16.

8.1.3.1.1 Splitting Cut-Point Transitions

There remain no cut-point transition to consider. Hence the cooperation termination is trivial.

8.2 SCC Subproblem 2/2

Here we consider the SCC { 0, 2, 0_var_snapshot, 0* }.

8.2.1 Transition Removal

We remove transition 1 using the following ranking functions, which are bounded by −884.

0: −34 − 52⋅i_8_0
2: −52⋅i_8_0
0_var_snapshot: −52⋅i_8_0 − 3⋅length_7_post
0*: −17 − 52⋅i_8_0

8.2.2 Transition Removal

We remove transitions 10, 2 using the following ranking functions, which are bounded by −1.

0: 0
2: 1 + length_7_0
0_var_snapshot: length_7_post
0*: length_7_0

8.2.3 Transition Removal

We remove transition 12 using the following ranking functions, which are bounded by 16.

0: 0
2: 0
0_var_snapshot: 0
0*: length_7_post

8.2.4 Splitting Cut-Point Transitions

We consider 1 subproblems corresponding to sets of cut-point transitions as follows.

8.2.4.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 9.

8.2.4.1.1 Splitting Cut-Point Transitions

There remain no cut-point transition to consider. Hence the cooperation termination is trivial.

Tool configuration

T2Cert