LTS Termination Proof

by T2Cert

Input

Integer Transition System

Proof

1 Invariant Updates

The following invariants are asserted.

0: 1 − k_0 ≤ 0
1: 1 − k_0 ≤ 0
2: TRUE
3: TRUE
4: 1 − k_0 ≤ 0
5: 1 − k_0 ≤ 0
6: 1 − k_0 ≤ 0
7: 1 − k_0 ≤ 0
8: 1 − k_0 ≤ 0
9: TRUE
10: TRUE

The invariants are proved as follows.

IMPACT Invariant Proof

2 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
1 16 1: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_0 ≤ 0
6 23 6: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_0 ≤ 0
and for every transition t, a duplicate t is considered.

3 Transition Removal

We remove transitions 0, 1, 2, 3, 5, 7, 10, 11, 14, 15 using the following ranking functions, which are bounded by −23.

10: 0
9: 0
3: 0
0: 0
1: 0
4: 0
8: 0
7: 0
5: 0
6: 0
2: 0
10: −9
9: −10
3: −11
0: −12
1: −13
4: −13
8: −13
1_var_snapshot: −13
1*: −13
7: −14
5: −15
6: −15
6_var_snapshot: −15
6*: −15
2: −21

4 Location Addition

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

1* 19 1: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_0 ≤ 0

5 Location Addition

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

1 17 1_var_snapshot: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_0 ≤ 0

6 Location Addition

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

6* 26 6: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_0 ≤ 0

7 Location Addition

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

6 24 6_var_snapshot: tmp_post + tmp_post ≤ 0tmp_posttmp_post ≤ 0tmp___0_post + tmp___0_post ≤ 0tmp___0_posttmp___0_post ≤ 0tmp___0_0 + tmp___0_0 ≤ 0tmp___0_0tmp___0_0 ≤ 0tmp_0 + tmp_0 ≤ 0tmp_0tmp_0 ≤ 0k_post + k_post ≤ 0k_postk_post ≤ 0k_0 + k_0 ≤ 0k_0k_0 ≤ 0j_post + j_post ≤ 0j_postj_post ≤ 0j_0 + j_0 ≤ 0j_0j_0 ≤ 0i_post + i_post ≤ 0i_posti_post ≤ 0i_0 + i_0 ≤ 0i_0i_0 ≤ 0___const_100_0 + ___const_100_0 ≤ 0___const_100_0___const_100_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 { 5, 6, 6_var_snapshot, 6* }.

8.1.1 Transition Removal

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

5: −1 + 4⋅i_0 − 4⋅j_0
6: 1 + 4⋅i_0 − 4⋅j_0
6_var_snapshot: 4⋅i_0 − 4⋅j_0
6*: 2 + 4⋅i_0 − 4⋅j_0

8.1.2 Transition Removal

We remove transitions 24, 26, 8 using the following ranking functions, which are bounded by −1.

5: −1
6: −1 + 2⋅k_0
6_var_snapshot: 0
6*: 2⋅k_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 23.

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 { 1, 4, 8, 1_var_snapshot, 1* }.

8.2.1 Transition Removal

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

1: 2 − 5⋅i_0 + 5⋅k_0
4: −5⋅i_0 + 5⋅k_0
8: −1 − 5⋅i_0 + 5⋅k_0
1_var_snapshot: 1 − 5⋅i_0 + 5⋅k_0
1*: 3 − 5⋅i_0 + 5⋅k_0

8.2.2 Splitting Cut-Point Transitions

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

8.2.2.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 16.

8.2.2.1.1 Invariant Updates

The following invariants are asserted.

0: 1 − k_0 ≤ 0
1: −1 + i_0 ≤ 01 − k_0 ≤ 0i_0k_0 ≤ 01 − k_0 ≤ 0
2: TRUE
3: TRUE
4: −1 + i_0 ≤ 01 − k_0 ≤ 0i_0k_0 ≤ 01 − k_0 ≤ 0
5: 1 − k_0 ≤ 0
6: 1 − k_0 ≤ 0
7: 1 − k_0 ≤ 0
8: 1 ≤ 01 − k_0 ≤ 01 + i_0k_0 ≤ 01 − k_0 ≤ 0
9: TRUE
10: TRUE
1: −1 + i_0 ≤ 01 − k_0 ≤ 0i_0k_0 ≤ 01 − k_0 ≤ 0
4: −1 + i_0 ≤ 01 − k_0 ≤ 0i_0k_0 ≤ 01 − k_0 ≤ 0
8: 1 ≤ 01 − k_0 ≤ 0
1_var_snapshot: −1 + i_0 ≤ 01 − k_0 ≤ 0i_0k_0 ≤ 01 − k_0 ≤ 0
1*: 1 ≤ 01 − k_0 ≤ 0

The invariants are proved as follows.

IMPACT Invariant Proof

8.2.2.1.2 Transition Removal

We remove transition 17 using the following ranking functions, which are bounded by −7.

1: −1
1_var_snapshot: −2
4: −3
8: −4
1*: −5

8.2.2.1.3 Splitting Cut-Point Transitions

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

Tool configuration

T2Cert