LTS Termination Proof

by T2Cert

Input

Integer Transition System

Proof

1 Invariant Updates

The following invariants are asserted.

0: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
1: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
2: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
3: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
4: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
5: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
6: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
7: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
8: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
9: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
10: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
11: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
12: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
13: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
14: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
15: −13 + edgecount_post ≤ 013 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−13 + edgecount_0 ≤ 013 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
16: TRUE
17: TRUE

The invariants are proved as follows.

IMPACT Invariant Proof

2 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
2 25 2: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0
4 32 4: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0
7 39 7: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0
9 46 9: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0
10 53 10: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0
and for every transition t, a duplicate t is considered.

3 Transition Removal

We remove transitions 0, 3, 4, 10, 18, 23, 24 using the following ranking functions, which are bounded by −27.

17: 0
16: 0
10: 0
11: 0
13: 0
14: 0
15: 0
6: 0
7: 0
8: 0
9: 0
12: 0
3: 0
4: 0
5: 0
0: 0
2: 0
1: 0
17: −8
16: −9
10: −10
11: −10
13: −10
14: −10
15: −10
10_var_snapshot: −10
10*: −10
6: −11
7: −11
8: −11
9: −11
12: −11
7_var_snapshot: −11
7*: −11
9_var_snapshot: −11
9*: −11
3: −14
4: −14
5: −14
4_var_snapshot: −14
4*: −14
0: −15
2: −15
2_var_snapshot: −15
2*: −15
1: −16
Hints:
26 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
33 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
40 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
47 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
54 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
1 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
2 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
5 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
6 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
7 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
8 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
9 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
11 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
12 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
13 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
14 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
15 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
16 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
17 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
19 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
20 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
21 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
22 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
0 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
3 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
4 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
10 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
18 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
23 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
24 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

4 Location Addition

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

2* 28 2: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

5 Location Addition

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

2 26 2_var_snapshot: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

6 Location Addition

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

4* 35 4: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

7 Location Addition

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

4 33 4_var_snapshot: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

8 Location Addition

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

7* 42 7: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

9 Location Addition

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

7 40 7_var_snapshot: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

10 Location Addition

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

9* 49 9: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

11 Location Addition

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

9 47 9_var_snapshot: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

12 Location Addition

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

10* 56 10: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

13 Location Addition

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

10 54 10_var_snapshot: y_post + y_post ≤ 0y_posty_post ≤ 0y_0 + y_0 ≤ 0y_0y_0 ≤ 0x_post + x_post ≤ 0x_postx_post ≤ 0x_0 + x_0 ≤ 0x_0x_0 ≤ 0source_post + source_post ≤ 0source_postsource_post ≤ 0source_0 + source_0 ≤ 0source_0source_0 ≤ 0nodecount_post + nodecount_post ≤ 0nodecount_postnodecount_post ≤ 0nodecount_0 + nodecount_0 ≤ 0nodecount_0nodecount_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 ≤ 0edgecount_post + edgecount_post ≤ 0edgecount_postedgecount_post ≤ 0edgecount_0 + edgecount_0 ≤ 0edgecount_0edgecount_0 ≤ 0

14 SCC Decomposition

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

14.1 SCC Subproblem 1/4

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

14.1.1 Transition Removal

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

0: −6⋅i_0 + 6⋅nodecount_0nodecount_post
2: −1 − 6⋅i_0 + 6⋅nodecount_0
2_var_snapshot: −10 + edgecount_post − 6⋅i_0 + 6⋅nodecount_0nodecount_post
2*: −6⋅i_0 + 6⋅nodecount_0
Hints:
26 lexWeak[ [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0] ]
28 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0] ]
1 lexStrict[ [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
22 lexWeak[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0] ]

14.1.2 Transition Removal

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

0: nodecount_0
2: edgecount_0
2_var_snapshot: 0
2*: edgecount_0 + edgecount_post
Hints:
26 lexStrict[ [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
28 lexStrict[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0] , [0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
22 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.1.3 Splitting Cut-Point Transitions

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

14.1.3.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 25.

14.1.3.1.1 Splitting Cut-Point Transitions

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

14.2 SCC Subproblem 2/4

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

14.2.1 Transition Removal

We remove transition 5 using the following ranking functions, which are bounded by −1143.

3: −6⋅edgecount_0edgecount_post − 93⋅i_0
4: −93⋅i_0
5: −6⋅edgecount_0edgecount_post − 93⋅i_0 + 13⋅nodecount_post
4_var_snapshot: −6⋅edgecount_0 − 93⋅i_0 + 13⋅nodecount_post
4*: 79 − 6⋅edgecount_0 − 93⋅i_0
Hints:
33 lexWeak[ [0, 0, 13, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 6] ]
35 lexWeak[ [0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0] ]
2 lexWeak[ [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6] ]
5 lexStrict[ [0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 1, 0, 6] , [1, 0, 0, 13, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
21 lexWeak[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 1, 0, 6] ]

14.2.2 Transition Removal

We remove transitions 35, 2, 21 using the following ranking functions, which are bounded by −71.

3: edgecount_post
4: −5⋅edgecount_post
5: edgecount_post − 14⋅nodecount_post
4_var_snapshot: −14⋅nodecount_post
4*: 0
Hints:
33 lexWeak[ [5, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
35 lexStrict[ [0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
2 lexStrict[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
21 lexStrict[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] , [0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.2.3 Transition Removal

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

3: 0
4: nodecount_0
5: 0
4_var_snapshot: 0
4*: 0
Hints:
33 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.2.4 Splitting Cut-Point Transitions

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

14.2.4.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 32.

14.2.4.1.1 Splitting Cut-Point Transitions

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

14.3 SCC Subproblem 3/4

Here we consider the SCC { 6, 7, 8, 9, 12, 7_var_snapshot, 7*, 9_var_snapshot, 9* }.

14.3.1 Transition Removal

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

6: 65 − 21⋅i_0 + 21⋅nodecount_0 + nodecount_post
7: 65 − 21⋅i_0 + 21⋅nodecount_0 + nodecount_post
8: 5⋅edgecount_0 − 21⋅i_0 + 21⋅nodecount_0 + nodecount_post
9: −5 − 21⋅i_0 + 21⋅nodecount_0 + 18⋅nodecount_post
12: 75 − 21⋅i_0 + 21⋅nodecount_0
7_var_snapshot: 5⋅edgecount_0 − 21⋅i_0 + 21⋅nodecount_0 + nodecount_post
7*: 65 − 21⋅i_0 + 21⋅nodecount_0 + nodecount_post
9_var_snapshot: −10 − 21⋅i_0 + 21⋅nodecount_0 + 18⋅nodecount_post
9*: −21⋅i_0 + 21⋅nodecount_0 + 18⋅nodecount_post
Hints:
40 lexWeak[ [0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 5, 0] ]
42 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
47 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
49 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
6 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
7 lexWeak[ [0, 0, 17, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 21, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
8 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
11 lexStrict[ [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
17 lexWeak[ [0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0] ]
20 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 5, 0] ]

14.3.2 Transition Removal

We remove transition 8 using the following ranking functions, which are bounded by −41.

6: 4 − 8⋅edgecount_0 + 13⋅edgecount_post − 5⋅j_0 − 10⋅nodecount_post
7: −61 + 6⋅edgecount_0 − 5⋅j_0 + nodecount_post
8: 5⋅edgecount_0 − 5⋅j_0 − 9⋅nodecount_post
9: 5⋅edgecount_0 + edgecount_post − 5⋅j_0 − 37⋅nodecount_post
12: −5⋅j_0 − 24⋅nodecount_post
7_var_snapshot: −49 + 5⋅edgecount_0 − 5⋅j_0 + nodecount_post
7*: −5 + 6⋅edgecount_0 − 5⋅j_0 − 10⋅nodecount_post
9_var_snapshot: 5⋅edgecount_0 − 5⋅j_0 − 37⋅nodecount_post
9*: 123 + 5⋅edgecount_0 − 13⋅edgecount_post − 5⋅j_0
Hints:
40 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0] ]
42 lexWeak[ [0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 6, 0] ]
47 lexWeak[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0] ]
49 lexWeak[ [14, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 0, 5, 0] ]
6 lexWeak[ [0, 13, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0] ]
7 lexWeak[ [0, 13, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 13, 5, 0] ]
8 lexStrict[ [13, 0, 0, 1, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 13, 0, 0, 8] , [0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
17 lexWeak[ [0, 0, 13, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0] ]
20 lexWeak[ [0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0] ]

14.3.3 Transition Removal

We remove transitions 40, 42, 47, 49, 6, 7, 17, 20 using the following ranking functions, which are bounded by −79.

6: edgecount_post + 14⋅nodecount_0 + 2⋅nodecount_post
7: −5 + 14⋅nodecount_0 + 2⋅nodecount_post
8: 14⋅nodecount_0 − 13⋅nodecount_post
9: −13⋅nodecount_post
12: −7⋅edgecount_post
7_var_snapshot: 14⋅nodecount_0
7*: 14⋅nodecount_0 + 2⋅nodecount_post
9_var_snapshot: −6⋅edgecount_0
9*: −5⋅edgecount_0 + 14⋅nodecount_0 − 13⋅nodecount_post
Hints:
40 lexStrict[ [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
42 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
47 lexStrict[ [0, 0, 13, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6] , [0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
49 lexStrict[ [0, 0, 0, 0, 0, 0, 5, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 13, 0, 0, 0, 5, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
6 lexStrict[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 1, 0, 2, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
7 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 5] , [0, 0, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
17 lexStrict[ [0, 7, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0] , [0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
20 lexStrict[ [0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.3.4 Splitting Cut-Point Transitions

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

14.3.4.1 Cut-Point Subproblem 1/2

Here we consider cut-point transition 39.

14.3.4.1.1 Splitting Cut-Point Transitions

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

14.3.4.2 Cut-Point Subproblem 2/2

Here we consider cut-point transition 46.

14.3.4.2.1 Splitting Cut-Point Transitions

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

14.4 SCC Subproblem 4/4

Here we consider the SCC { 10, 11, 13, 14, 15, 10_var_snapshot, 10* }.

14.4.1 Transition Removal

We remove transitions 15, 16, 19 using the following ranking functions, which are bounded by −28.

10: 3 − 7⋅i_0 + 7⋅source_0
11: 1 − 7⋅i_0 + 7⋅source_0
13: −1 − 7⋅i_0 + 7⋅source_0
14: −2 − 7⋅i_0 + 7⋅source_0
15: −7⋅i_0 + 7⋅source_0
10_var_snapshot: −24 + edgecount_0 + edgecount_post − 7⋅i_0 + 7⋅source_0
10*: 4 − 7⋅i_0 + 7⋅source_0
Hints:
54 lexWeak[ [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 1, 0, 1, 0] ]
56 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] ]
9 lexWeak[ [0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] ]
12 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] ]
13 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
14 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] ]
15 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
16 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
19 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.4.2 Transition Removal

We remove transitions 54, 56, 9, 12, 13 using the following ranking functions, which are bounded by −6.

10: 0
11: edgecount_postnodecount_0
13: 6⋅edgecount_post + nodecount_0
14: 6⋅edgecount_post
15: 6⋅edgecount_post + 2⋅nodecount_0
10_var_snapshot: nodecount_0
10*: 6⋅edgecount_post − 13⋅nodecount_0
Hints:
54 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
56 lexStrict[ [0, 6, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 6, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
9 lexStrict[ [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
12 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0] , [0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
13 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 6, 0, 0, 0] , [0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]
14 lexWeak[ [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0] ]

14.4.3 Transition Removal

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

10: 0
11: 0
13: 0
14: 0
15: edgecount_0
10_var_snapshot: 0
10*: 0
Hints:
14 lexStrict[ [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] , [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ]

14.4.4 Splitting Cut-Point Transitions

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

14.4.4.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 53.

14.4.4.1.1 Splitting Cut-Point Transitions

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

Tool configuration

T2Cert