# LTS Termination Proof

by T2Cert

## Input

Integer Transition System
• Initial Location: 5
• Transitions: (pre-variables and post-variables)  0 0 1: − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0 2 1 0: 0 ≤ 0 ∧ 0 ≤ 0 ∧ tmp___0_0 − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_post ≤ 0 ∧ − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0 3 2 0: 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 1 + tmp___1_0 ≤ 0 ∧ −1 − tmp___1_0 ≤ 0 ∧ ___val8_post ≤ 0 ∧ − ___val8_post ≤ 0 ∧ ___len9_0 − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_post ≤ 0 ∧ ___val8_0 − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_post ≤ 0 ∧ tmp10_0 − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_post ≤ 0 ∧ − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 3 3 2: − tmp___1_0 ≤ 0 ∧ − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0 3 4 2: 2 + tmp___1_0 ≤ 0 ∧ − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0 4 5 3: 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ tmp_0 − tmp_post ≤ 0 ∧ − tmp_0 + tmp_post ≤ 0 ∧ tmp___1_0 − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_post ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0 5 6 4: − tmp_post + tmp_post ≤ 0 ∧ tmp_post − tmp_post ≤ 0 ∧ − tmp___1_post + tmp___1_post ≤ 0 ∧ tmp___1_post − tmp___1_post ≤ 0 ∧ − tmp___1_0 + tmp___1_0 ≤ 0 ∧ tmp___1_0 − tmp___1_0 ≤ 0 ∧ − tmp___0_post + tmp___0_post ≤ 0 ∧ tmp___0_post − tmp___0_post ≤ 0 ∧ − tmp___0_0 + tmp___0_0 ≤ 0 ∧ tmp___0_0 − tmp___0_0 ≤ 0 ∧ − tmp_0 + tmp_0 ≤ 0 ∧ tmp_0 − tmp_0 ≤ 0 ∧ − tmp10_post + tmp10_post ≤ 0 ∧ tmp10_post − tmp10_post ≤ 0 ∧ − tmp10_0 + tmp10_0 ≤ 0 ∧ tmp10_0 − tmp10_0 ≤ 0 ∧ − ___val8_post + ___val8_post ≤ 0 ∧ ___val8_post − ___val8_post ≤ 0 ∧ − ___val8_0 + ___val8_0 ≤ 0 ∧ ___val8_0 − ___val8_0 ≤ 0 ∧ − ___len9_post + ___len9_post ≤ 0 ∧ ___len9_post − ___len9_post ≤ 0 ∧ − ___len9_0 + ___len9_0 ≤ 0 ∧ ___len9_0 − ___len9_0 ≤ 0

## Proof

### 1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
and for every transition t, a duplicate t is considered.

### 2 Transition Removal

We remove transitions 0, 1, 2, 3, 4, 5, 6 using the following ranking functions, which are bounded by −14.

 5: 0 4: 0 3: 0 2: 0 0: 0 1: 0 5: −7 4: −8 3: −9 2: −10 0: −11 1: −12
Hints:
 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] ] 1 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] ] 2 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] ] 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] ] 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] ] 5 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] ] 6 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] ]

### 3 SCC Decomposition

There exist no SCC in the program graph.

T2Cert

• version: 1.0