LTS Termination Proof

by T2Cert

Input

Integer Transition System

Proof

1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
3 15 3: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0
7 22 7: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0
and for every transition t, a duplicate t is considered.

2 Transition Removal

We remove transitions 11, 13, 14 using the following ranking functions, which are bounded by −15.

10: 0
9: 0
0: 0
1: 0
2: 0
3: 0
4: 0
5: 0
6: 0
7: 0
8: 0
10: −5
9: −6
0: −7
1: −7
2: −7
3: −7
4: −7
5: −7
6: −7
7: −7
3_var_snapshot: −7
3*: −7
7_var_snapshot: −7
7*: −7
8: −10

3 Location Addition

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

3* 18 3: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0

4 Location Addition

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

3 16 3_var_snapshot: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0

5 Location Addition

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

7* 25 7: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0

6 Location Addition

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

7 23 7_var_snapshot: scale7_post + scale7_post ≤ 0scale7_postscale7_post ≤ 0scale7_0 + scale7_0 ≤ 0scale7_0scale7_0 ≤ 0j9_post + j9_post ≤ 0j9_postj9_post ≤ 0j9_0 + j9_0 ≤ 0j9_0j9_0 ≤ 0in_len4_post + in_len4_post ≤ 0in_len4_postin_len4_post ≤ 0in_len4_0 + in_len4_0 ≤ 0in_len4_0in_len4_0 ≤ 0i8_post + i8_post ≤ 0i8_posti8_post ≤ 0i8_0 + i8_0 ≤ 0i8_0i8_0 ≤ 0coef_len6_post + coef_len6_post ≤ 0coef_len6_postcoef_len6_post ≤ 0coef_len6_0 + coef_len6_0 ≤ 0coef_len6_0coef_len6_0 ≤ 0coef_len210_post + coef_len210_post ≤ 0coef_len210_postcoef_len210_post ≤ 0coef_len210_0 + coef_len210_0 ≤ 0coef_len210_0coef_len210_0 ≤ 0acc_length11_post + acc_length11_post ≤ 0acc_length11_postacc_length11_post ≤ 0acc_length11_0 + acc_length11_0 ≤ 0acc_length11_0acc_length11_0 ≤ 0acc12_post + acc12_post ≤ 0acc12_postacc12_post ≤ 0acc12_0 + acc12_0 ≤ 0acc12_0acc12_0 ≤ 0___const_35_0 + ___const_35_0 ≤ 0___const_35_0___const_35_0 ≤ 0___const_285_0 + ___const_285_0 ≤ 0___const_285_0___const_285_0 ≤ 0___const_10_0 + ___const_10_0 ≤ 0___const_10_0___const_10_0 ≤ 0

7 SCC Decomposition

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

7.1 SCC Subproblem 1/1

Here we consider the SCC { 0, 1, 2, 3, 4, 5, 6, 7, 3_var_snapshot, 3*, 7_var_snapshot, 7* }.

7.1.1 Transition Removal

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

0: −8 − 13⋅i8_0 + 13⋅in_len4_0
1: −9 − 13⋅i8_0 + 13⋅in_len4_0
2: −7 − 13⋅i8_0 + 13⋅in_len4_0
3: 2 − 13⋅i8_0 + 13⋅in_len4_0
4: −6 − 13⋅i8_0 + 13⋅in_len4_0
5: −13⋅i8_0 + 13⋅in_len4_0
6: −5 − 13⋅i8_0 + 13⋅in_len4_0
7: −5 − 13⋅i8_0 + 13⋅in_len4_0
3_var_snapshot: 1 − 13⋅i8_0 + 13⋅in_len4_0
3*: 3 − 13⋅i8_0 + 13⋅in_len4_0
7_var_snapshot: −5 − 13⋅i8_0 + 13⋅in_len4_0
7*: −5 − 13⋅i8_0 + 13⋅in_len4_0

7.1.2 Transition Removal

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

0: −7 + 3⋅acc_length11_0 − 3⋅j9_0
1: −8 + 3⋅acc_length11_0 − 3⋅j9_0
2: −3 + 3⋅acc_length11_0 − 3⋅j9_0
3: −10 + 3⋅acc_length11_0 − 3⋅j9_0
4: −2 + 3⋅acc_length11_0 − 3⋅j9_0
5: −12 + 3⋅acc_length11_0 − 3⋅j9_0
6: −1 + 3⋅acc_length11_0 − 3⋅j9_0
7: 3⋅acc_length11_0 − 3⋅j9_0
3_var_snapshot: −11 + 3⋅acc_length11_0 − 3⋅j9_0
3*: −9 + 3⋅acc_length11_0 − 3⋅j9_0
7_var_snapshot: 3⋅acc_length11_0 − 3⋅j9_0
7*: 1 + 3⋅acc_length11_0 − 3⋅j9_0

7.1.3 Transition Removal

We remove transitions 16, 18, 23, 25, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10 using the following ranking functions, which are bounded by −9.

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

7.1.4 Splitting Cut-Point Transitions

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

7.1.4.1 Cut-Point Subproblem 1/2

Here we consider cut-point transition 15.

7.1.4.1.1 Splitting Cut-Point Transitions

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

7.1.4.2 Cut-Point Subproblem 2/2

Here we consider cut-point transition 22.

7.1.4.2.1 Splitting Cut-Point Transitions

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

Tool configuration

T2Cert