LTS Termination Proof

by T2Cert

Input

Integer Transition System

Proof

1 Invariant Updates

The following invariants are asserted.

0: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
1: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
2: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
3: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
4: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
5: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
6: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
7: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
8: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
9: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
10: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
11: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
12: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
13: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
14: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − edgecount_0 ≤ 0−5 + nodecount_0 ≤ 05 − nodecount_0 ≤ 0source_0 ≤ 0
15: −7 + edgecount_post ≤ 07 − edgecount_post ≤ 0−5 + nodecount_post ≤ 05 − nodecount_post ≤ 0source_post ≤ 0source_post ≤ 0−7 + edgecount_0 ≤ 07 − 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
3 32 3: 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 39 6: 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 46 8: 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 53 11: 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, 4, 5, 12, 19, 23, 24 using the following ranking functions, which are bounded by −27.

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

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.

3* 35 3: 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.

3 33 3_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.

6* 42 6: 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.

6 40 6_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.

8* 49 8: 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.

8 47 8_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.

11* 56 11: 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.

11 54 11_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: −4 + edgecount_post − 6⋅i_0 + 6⋅nodecount_0nodecount_post
2*: −6⋅i_0 + 6⋅nodecount_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: −5 + 2⋅nodecount_0
2_var_snapshot: 0
2*: 2⋅nodecount_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 { 5, 6, 7, 6_var_snapshot, 6* }.

14.2.1 Transition Removal

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

5: −6⋅edgecount_0edgecount_post − 51⋅i_0
6: −51⋅i_0
7: −6⋅edgecount_0edgecount_post − 51⋅i_0 + 7⋅nodecount_post
6_var_snapshot: −6⋅edgecount_0 − 51⋅i_0 + 7⋅nodecount_post
6*: 43 − 6⋅edgecount_0 − 51⋅i_0

14.2.2 Transition Removal

We remove transitions 42, 3, 21 using the following ranking functions, which are bounded by −43.

5: edgecount_post
6: −7⋅nodecount_post
7: −6⋅edgecount_postnodecount_0
6_var_snapshot: −6⋅edgecount_post
6*: 0

14.2.3 Transition Removal

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

5: 0
6: nodecount_0
7: 0
6_var_snapshot: 0
6*: 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 39.

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 { 8, 9, 10, 11, 12, 8_var_snapshot, 8*, 11_var_snapshot, 11* }.

14.3.1 Transition Removal

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

8: −85⋅i_0 + 85⋅nodecount_0
9: −85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
10: edgecount_0 − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
11: −7 − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
12: edgecount_post − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
8_var_snapshot: −5⋅edgecount_post − 85⋅i_0 + 85⋅nodecount_0
8*: 11⋅edgecount_0 − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
11_var_snapshot: edgecount_post − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post
11*: edgecount_0 − 85⋅i_0 + 85⋅nodecount_0 − 14⋅nodecount_post

14.3.2 Transition Removal

We remove transition 10 using the following ranking functions, which are bounded by −464.

8: −5⋅edgecount_0 − 78⋅j_0
9: edgecount_0 − 78⋅j_0 − 8⋅nodecount_0
10: −11⋅edgecount_0 − 5⋅edgecount_post − 78⋅j_0 + 8⋅nodecount_0 + 14⋅nodecount_post
11: 35 − 5⋅edgecount_post − 78⋅j_0 + 8⋅nodecount_0
12: −5⋅edgecount_post − 78⋅j_0 + 8⋅nodecount_0
8_var_snapshot: −78⋅j_0 − 8⋅nodecount_0
8*: −5⋅edgecount_0 − 5⋅edgecount_post − 78⋅j_0 + 8⋅nodecount_0
11_var_snapshot: −78⋅j_0 + 8⋅nodecount_0
11*: −5⋅edgecount_post − 78⋅j_0 + 8⋅nodecount_0 + 14⋅nodecount_post

14.3.3 Transition Removal

We remove transitions 47, 49, 54, 56, 7, 8, 9, 11 using the following ranking functions, which are bounded by −6.

8: 0
9: −2⋅nodecount_post
10: 1 + edgecount_post + 22⋅nodecount_0
11: 22⋅nodecount_0
12: 15⋅edgecount_post − 7⋅nodecount_post
8_var_snapshot: nodecount_post
8*: −70 + 15⋅edgecount_post
11_var_snapshot: 15⋅edgecount_post
11*: edgecount_post + 22⋅nodecount_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 46.

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 53.

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 { 3, 4, 13, 14, 15, 3_var_snapshot, 3* }.

14.4.1 Transition Removal

We remove transitions 17, 18, 20 using the following ranking functions, which are bounded by 21.

3: −9 + edgecount_0 + 7⋅edgecount_post − 7⋅i_0 + nodecount_0 + 7⋅source_0
4: −4 + 6⋅edgecount_0 + edgecount_post − 7⋅i_0 + nodecount_0 + 7⋅source_0
13: 1 + 5⋅edgecount_0 + edgecount_post − 7⋅i_0 + nodecount_0 + 7⋅source_0
14: 7 + 5⋅edgecount_0 − 7⋅i_0 + nodecount_0 + 7⋅source_0
15: 6⋅edgecount_0 + edgecount_post − 7⋅i_0 + 7⋅source_0
3_var_snapshot: −3 + 6⋅edgecount_0 + edgecount_post − 7⋅i_0 + nodecount_0 + 7⋅source_0
3*: 13 + 5⋅edgecount_0 − 7⋅i_0 + nodecount_0 + 7⋅source_0

14.4.2 Transition Removal

We remove transitions 33, 35, 2, 14, 15 using the following ranking functions, which are bounded by −111.

3: −70 − nodecount_post
4: −16⋅edgecount_0nodecount_post
13: 0
14: nodecount_post
15: edgecount_post
3_var_snapshot: −21⋅nodecount_0nodecount_post
3*: −35 − nodecount_post

14.4.3 Transition Removal

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

3: 0
4: 0
13: 0
14: 0
15: nodecount_0
3_var_snapshot: 0
3*: 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 32.

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