# LTS Termination Proof

by T2Cert

## Input

Integer Transition System
• Initial Location: 4
• Transitions: (pre-variables and post-variables)  0 0 1: 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 1 − e_0 ≤ 0 ∧ −100 + n_0 ≤ 0 ∧ −11 − n_0 + n_post ≤ 0 ∧ 11 + n_0 − n_post ≤ 0 ∧ −1 − e_0 + e_post ≤ 0 ∧ 1 + e_0 − e_post ≤ 0 ∧ e_0 − e_post ≤ 0 ∧ − e_0 + e_post ≤ 0 ∧ n_0 − n_post ≤ 0 ∧ − n_0 + n_post ≤ 0 1 1 0: − n_post + n_post ≤ 0 ∧ n_post − n_post ≤ 0 ∧ − n_0 + n_0 ≤ 0 ∧ n_0 − n_0 ≤ 0 ∧ − e_post + e_post ≤ 0 ∧ e_post − e_post ≤ 0 ∧ − e_0 + e_0 ≤ 0 ∧ e_0 − e_0 ≤ 0 0 2 2: 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 1 − e_0 ≤ 0 ∧ 101 − n_0 ≤ 0 ∧ 10 − n_0 + n_post ≤ 0 ∧ −10 + n_0 − n_post ≤ 0 ∧ 1 − e_0 + e_post ≤ 0 ∧ −1 + e_0 − e_post ≤ 0 ∧ e_0 − e_post ≤ 0 ∧ − e_0 + e_post ≤ 0 ∧ n_0 − n_post ≤ 0 ∧ − n_0 + n_post ≤ 0 2 3 0: − n_post + n_post ≤ 0 ∧ n_post − n_post ≤ 0 ∧ − n_0 + n_0 ≤ 0 ∧ n_0 − n_0 ≤ 0 ∧ − e_post + e_post ≤ 0 ∧ e_post − e_post ≤ 0 ∧ − e_0 + e_0 ≤ 0 ∧ e_0 − e_0 ≤ 0 3 4 0: 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ −1 + e_post ≤ 0 ∧ 1 − e_post ≤ 0 ∧ e_0 − e_post ≤ 0 ∧ − e_0 + e_post ≤ 0 ∧ n_0 − n_post ≤ 0 ∧ − n_0 + n_post ≤ 0 4 5 3: − n_post + n_post ≤ 0 ∧ n_post − n_post ≤ 0 ∧ − n_0 + n_0 ≤ 0 ∧ n_0 − n_0 ≤ 0 ∧ − e_post + e_post ≤ 0 ∧ e_post − e_post ≤ 0 ∧ − e_0 + e_0 ≤ 0 ∧ e_0 − e_0 ≤ 0

## Proof

### 1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
 0 6 0: − n_post + n_post ≤ 0 ∧ n_post − n_post ≤ 0 ∧ − n_0 + n_0 ≤ 0 ∧ n_0 − n_0 ≤ 0 ∧ − e_post + e_post ≤ 0 ∧ e_post − e_post ≤ 0 ∧ − e_0 + e_0 ≤ 0 ∧ e_0 − e_0 ≤ 0
and for every transition t, a duplicate t is considered.

### 2 Transition Removal

We remove transitions 4, 5 using the following ranking functions, which are bounded by −11.

 4: 0 3: 0 0: 0 1: 0 2: 0 4: −4 3: −5 0: −6 1: −6 2: −6 0_var_snapshot: −6 0*: −6

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

0* 9 0: n_post + n_post ≤ 0n_postn_post ≤ 0n_0 + n_0 ≤ 0n_0n_0 ≤ 0e_post + e_post ≤ 0e_poste_post ≤ 0e_0 + e_0 ≤ 0e_0e_0 ≤ 0

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

0 7 0_var_snapshot: n_post + n_post ≤ 0n_postn_post ≤ 0n_0 + n_0 ≤ 0n_0n_0 ≤ 0e_post + e_post ≤ 0e_poste_post ≤ 0e_0 + e_0 ≤ 0e_0e_0 ≤ 0

### 5 SCC Decomposition

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

### 5.1 SCC Subproblem 1/1

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

### 5.1.1 Transition Removal

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

 0: −1 + 74⋅e_0 − 7⋅n_0 1: 74⋅e_0 − 7⋅n_0 2: 1 + 74⋅e_0 − 7⋅n_0 0_var_snapshot: −2 + 74⋅e_0 − 7⋅n_0 0*: 74⋅e_0 − 7⋅n_0

### 5.1.2 Transition Removal

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

 0: −20 + 30⋅e_0 1: 30⋅e_0 2: 30⋅e_0 0_var_snapshot: −20 + 30⋅e_0 0*: −10 + 30⋅e_0

### 5.1.3 Transition Removal

We remove transitions 7, 9, 1 using the following ranking functions, which are bounded by −3.

 0: −2 1: 0 2: 0 0_var_snapshot: −3 0*: −1

### 5.1.4 Transition Removal

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

 0: 0 1: 0 2: 1 0_var_snapshot: 0 0*: 0

### 5.1.5 Splitting Cut-Point Transitions

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

### 5.1.5.1 Cut-Point Subproblem 1/1

Here we consider cut-point transition 6.

### 5.1.5.1.1 Splitting Cut-Point Transitions

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

T2Cert

• version: 1.0