# LTS Termination Proof

by AProVE

## Input

Integer Transition System
• Initial Location: l5, l4, l6, l1, l0, l2
• Transitions: (pre-variables and post-variables)  l0 1 l1: x1 = _head_15HAT0 ∧ x2 = _head_19HAT0 ∧ x3 = _i_17HAT0 ∧ x4 = _i_83HAT0 ∧ x5 = _length_16HAT0 ∧ x6 = _nondet_12HAT0 ∧ x7 = _rcd_47HAT0 ∧ x8 = _rcd_77HAT0 ∧ x9 = _result_11HAT0 ∧ x10 = _result_dot_SLAyer_malloc_sdv_special_RETURN_VALUE_20HAT0 ∧ x11 = _result_dot_nondet_sdv_special_RETURN_VALUE_13HAT0 ∧ x12 = _temp0_14HAT0 ∧ x13 = _temp0_18HAT0 ∧ x14 = _temp_24HAT0 ∧ x15 = _tmp_21HAT0 ∧ x1 = _head_15HATpost ∧ x2 = _head_19HATpost ∧ x3 = _i_17HATpost ∧ x4 = _i_83HATpost ∧ x5 = _length_16HATpost ∧ x6 = _nondet_12HATpost ∧ x7 = _rcd_47HATpost ∧ x8 = _rcd_77HATpost ∧ x9 = _result_11HATpost ∧ x10 = _result_dot_SLAyer_malloc_sdv_special_RETURN_VALUE_20HATpost ∧ x11 = _result_dot_nondet_sdv_special_RETURN_VALUE_13HATpost ∧ x12 = _temp0_14HATpost ∧ x13 = _temp0_18HATpost ∧ x14 = _temp_24HATpost ∧ x15 = _tmp_21HATpost ∧ _nondet_12HAT1 = _nondet_12HAT1 ∧ _result_dot_nondet_sdv_special_RETURN_VALUE_13HATpost = _nondet_12HAT1 ∧ _nondet_12HATpost = _nondet_12HATpost ∧ _length_16HATpost = _result_dot_nondet_sdv_special_RETURN_VALUE_13HATpost ∧ _head_19HATpost = 0 ∧ _i_17HATpost = 0 ∧ 0 ≤ _i_17HATpost ∧ _i_17HATpost ≤ 0 ∧ 0 ≤ _head_19HATpost ∧ _head_19HATpost ≤ 0 ∧ _result_dot_nondet_sdv_special_RETURN_VALUE_13HATpost ≤ _length_16HATpost ∧ _length_16HATpost ≤ _result_dot_nondet_sdv_special_RETURN_VALUE_13HATpost ∧ _head_15HAT0 = _head_15HATpost ∧ _i_83HAT0 = _i_83HATpost ∧ _rcd_47HAT0 = _rcd_47HATpost ∧ _rcd_77HAT0 = _rcd_77HATpost ∧ _result_11HAT0 = _result_11HATpost ∧ _result_dot_SLAyer_malloc_sdv_special_RETURN_VALUE_20HAT0 = _result_dot_SLAyer_malloc_sdv_special_RETURN_VALUE_20HATpost ∧ _temp0_14HAT0 = _temp0_14HATpost ∧ _temp0_18HAT0 = _temp0_18HATpost ∧ _temp_24HAT0 = _temp_24HATpost ∧ _tmp_21HAT0 = _tmp_21HATpost l2 2 l3: x1 = _x ∧ x2 = _x1 ∧ x3 = _x2 ∧ x4 = _x3 ∧ x5 = _x4 ∧ x6 = _x5 ∧ x7 = _x6 ∧ x8 = _x7 ∧ x9 = _x8 ∧ x10 = _x9 ∧ x11 = _x10 ∧ x12 = _x11 ∧ x13 = _x12 ∧ x14 = _x13 ∧ x15 = _x14 ∧ x1 = _x15 ∧ x2 = _x16 ∧ x3 = _x17 ∧ x4 = _x18 ∧ x5 = _x19 ∧ x6 = _x20 ∧ x7 = _x21 ∧ x8 = _x22 ∧ x9 = _x23 ∧ x10 = _x24 ∧ x11 = _x25 ∧ x12 = _x26 ∧ x13 = _x27 ∧ x14 = _x28 ∧ x15 = _x29 ∧ _x25 = _x25 ∧ _x4 ≤ _x2 ∧ _x30 = _x1 ∧ _x31 = _x30 ∧ _x19 = _x19 ∧ _x17 = _x17 ∧ _x27 = _x27 ∧ _x16 = _x16 ∧ _x24 = _x24 ∧ _x29 = _x29 ∧ _x28 = _x28 ∧ _x15 = _x31 ∧ _x32 = _x32 ∧ _x23 = _x11 ∧ 1 ≤ _x25 ∧ _x25 ≤ 1 ∧ 1 ≤ _x25 ∧ _x25 ≤ 1 ∧ _x3 = _x18 ∧ _x5 = _x20 ∧ _x6 = _x21 ∧ _x7 = _x22 ∧ _x11 = _x26 l2 3 l4: x1 = _x33 ∧ x2 = _x34 ∧ x3 = _x35 ∧ x4 = _x36 ∧ x5 = _x37 ∧ x6 = _x38 ∧ x7 = _x39 ∧ x8 = _x40 ∧ x9 = _x41 ∧ x10 = _x42 ∧ x11 = _x43 ∧ x12 = _x44 ∧ x13 = _x45 ∧ x14 = _x46 ∧ x15 = _x47 ∧ x1 = _x48 ∧ x2 = _x49 ∧ x3 = _x50 ∧ x4 = _x51 ∧ x5 = _x52 ∧ x6 = _x53 ∧ x7 = _x54 ∧ x8 = _x55 ∧ x9 = _x56 ∧ x10 = _x57 ∧ x11 = _x58 ∧ x12 = _x59 ∧ x13 = _x60 ∧ x14 = _x61 ∧ x15 = _x62 ∧ _x45 = _x60 ∧ _x44 = _x59 ∧ _x41 = _x56 ∧ _x40 = _x55 ∧ _x38 = _x53 ∧ _x37 = _x52 ∧ _x36 = _x51 ∧ _x33 = _x48 ∧ 2 ≤ _x37 ∧ 1 ≤ _x37 ∧ _x62 ≤ _x57 ∧ _x57 ≤ _x62 ∧ _x62 ≤ _x49 ∧ _x49 ≤ _x62 ∧ _x57 ≤ _x49 ∧ _x49 ≤ _x57 ∧ _x37 ≤ _x58 ∧ _x58 ≤ _x37 ∧ _x50 ≤ 2 ∧ 2 ≤ _x50 ∧ _x50 = 1 + _x35 ∧ _x49 = _x62 ∧ _x61 = _x61 ∧ _x62 = _x46 ∧ 1 + _x35 ≤ _x37 ∧ _x54 = _x54 ∧ _x57 = _x57 ∧ _x58 = _x58 l4 4 l3: x1 = _x63 ∧ x2 = _x64 ∧ x3 = _x65 ∧ x4 = _x66 ∧ x5 = _x67 ∧ x6 = _x68 ∧ x7 = _x69 ∧ x8 = _x70 ∧ x9 = _x71 ∧ x10 = _x72 ∧ x11 = _x73 ∧ x12 = _x74 ∧ x13 = _x75 ∧ x14 = _x76 ∧ x15 = _x77 ∧ x1 = _x78 ∧ x2 = _x79 ∧ x3 = _x80 ∧ x4 = _x81 ∧ x5 = _x82 ∧ x6 = _x83 ∧ x7 = _x84 ∧ x8 = _x85 ∧ x9 = _x86 ∧ x10 = _x87 ∧ x11 = _x88 ∧ x12 = _x89 ∧ x13 = _x90 ∧ x14 = _x91 ∧ x15 = _x92 ∧ 0 ≤ _x65 ∧ _x88 = _x88 ∧ _x67 ≤ _x65 ∧ _x93 = _x64 ∧ _x94 = _x93 ∧ _x82 = _x82 ∧ _x80 = _x80 ∧ _x90 = _x90 ∧ _x79 = _x79 ∧ _x87 = _x87 ∧ _x92 = _x92 ∧ _x91 = _x91 ∧ _x78 = _x94 ∧ _x95 = _x95 ∧ _x86 = _x74 ∧ 1 ≤ _x88 ∧ 2 ≤ _x88 ∧ _x88 ≤ _x80 ∧ _x66 = _x81 ∧ _x68 = _x83 ∧ _x69 = _x84 ∧ _x70 = _x85 ∧ _x74 = _x89 l4 5 l5: x1 = _x96 ∧ x2 = _x97 ∧ x3 = _x98 ∧ x4 = _x99 ∧ x5 = _x100 ∧ x6 = _x101 ∧ x7 = _x102 ∧ x8 = _x103 ∧ x9 = _x104 ∧ x10 = _x105 ∧ x11 = _x106 ∧ x12 = _x107 ∧ x13 = _x108 ∧ x14 = _x109 ∧ x15 = _x110 ∧ x1 = _x111 ∧ x2 = _x112 ∧ x3 = _x113 ∧ x4 = _x114 ∧ x5 = _x115 ∧ x6 = _x116 ∧ x7 = _x117 ∧ x8 = _x118 ∧ x9 = _x119 ∧ x10 = _x120 ∧ x11 = _x121 ∧ x12 = _x122 ∧ x13 = _x123 ∧ x14 = _x124 ∧ x15 = _x125 ∧ _x108 = _x123 ∧ _x107 = _x122 ∧ _x106 = _x121 ∧ _x105 = _x120 ∧ _x104 = _x119 ∧ _x102 = _x117 ∧ _x101 = _x116 ∧ _x100 = _x115 ∧ _x96 = _x111 ∧ 1 + _x114 ≤ _x100 ∧ −1 + _x113 ≤ _x114 ∧ _x114 ≤ −1 + _x113 ∧ 1 + _x114 ≤ _x113 ∧ _x113 ≤ 1 + _x114 ∧ _x113 = 1 + _x98 ∧ _x112 = _x125 ∧ _x124 = _x124 ∧ _x125 = _x109 ∧ 1 + _x98 ≤ _x100 ∧ _x114 = _x114 ∧ _x118 = _x118 ∧ 0 ≤ _x98 l5 6 l4: x1 = _x126 ∧ x2 = _x127 ∧ x3 = _x128 ∧ x4 = _x129 ∧ x5 = _x130 ∧ x6 = _x131 ∧ x7 = _x132 ∧ x8 = _x133 ∧ x9 = _x134 ∧ x10 = _x135 ∧ x11 = _x136 ∧ x12 = _x137 ∧ x13 = _x138 ∧ x14 = _x139 ∧ x15 = _x140 ∧ x1 = _x141 ∧ x2 = _x142 ∧ x3 = _x143 ∧ x4 = _x144 ∧ x5 = _x145 ∧ x6 = _x146 ∧ x7 = _x147 ∧ x8 = _x148 ∧ x9 = _x149 ∧ x10 = _x150 ∧ x11 = _x151 ∧ x12 = _x152 ∧ x13 = _x153 ∧ x14 = _x154 ∧ x15 = _x155 ∧ _x140 = _x155 ∧ _x139 = _x154 ∧ _x138 = _x153 ∧ _x137 = _x152 ∧ _x136 = _x151 ∧ _x135 = _x150 ∧ _x134 = _x149 ∧ _x133 = _x148 ∧ _x132 = _x147 ∧ _x131 = _x146 ∧ _x130 = _x145 ∧ _x129 = _x144 ∧ _x128 = _x143 ∧ _x127 = _x142 ∧ _x126 = _x141 l1 7 l3: x1 = _x156 ∧ x2 = _x157 ∧ x3 = _x158 ∧ x4 = _x159 ∧ x5 = _x160 ∧ x6 = _x161 ∧ x7 = _x162 ∧ x8 = _x163 ∧ x9 = _x164 ∧ x10 = _x165 ∧ x11 = _x166 ∧ x12 = _x167 ∧ x13 = _x168 ∧ x14 = _x169 ∧ x15 = _x170 ∧ x1 = _x171 ∧ x2 = _x172 ∧ x3 = _x173 ∧ x4 = _x174 ∧ x5 = _x175 ∧ x6 = _x176 ∧ x7 = _x177 ∧ x8 = _x178 ∧ x9 = _x179 ∧ x10 = _x180 ∧ x11 = _x181 ∧ x12 = _x182 ∧ x13 = _x183 ∧ x14 = _x184 ∧ x15 = _x185 ∧ _x181 = _x181 ∧ _x160 ≤ _x158 ∧ _x186 = _x157 ∧ _x187 = _x186 ∧ _x175 = _x175 ∧ _x173 = _x173 ∧ _x183 = _x183 ∧ _x172 = _x172 ∧ _x180 = _x180 ∧ _x185 = _x185 ∧ _x184 = _x184 ∧ _x171 = _x187 ∧ _x188 = _x188 ∧ _x179 = _x167 ∧ _x181 ≤ 0 ∧ _x159 = _x174 ∧ _x161 = _x176 ∧ _x162 = _x177 ∧ _x163 = _x178 ∧ _x167 = _x182 l1 8 l2: x1 = _x189 ∧ x2 = _x190 ∧ x3 = _x191 ∧ x4 = _x192 ∧ x5 = _x193 ∧ x6 = _x194 ∧ x7 = _x195 ∧ x8 = _x196 ∧ x9 = _x197 ∧ x10 = _x198 ∧ x11 = _x199 ∧ x12 = _x200 ∧ x13 = _x201 ∧ x14 = _x202 ∧ x15 = _x203 ∧ x1 = _x204 ∧ x2 = _x205 ∧ x3 = _x206 ∧ x4 = _x207 ∧ x5 = _x208 ∧ x6 = _x209 ∧ x7 = _x210 ∧ x8 = _x211 ∧ x9 = _x212 ∧ x10 = _x213 ∧ x11 = _x214 ∧ x12 = _x215 ∧ x13 = _x216 ∧ x14 = _x217 ∧ x15 = _x218 ∧ _x201 = _x216 ∧ _x200 = _x215 ∧ _x197 = _x212 ∧ _x196 = _x211 ∧ _x195 = _x210 ∧ _x194 = _x209 ∧ _x193 = _x208 ∧ _x192 = _x207 ∧ _x189 = _x204 ∧ 1 ≤ _x193 ∧ _x218 ≤ _x213 ∧ _x213 ≤ _x218 ∧ _x218 ≤ _x205 ∧ _x205 ≤ _x218 ∧ _x213 ≤ _x205 ∧ _x205 ≤ _x213 ∧ _x193 ≤ _x214 ∧ _x214 ≤ _x193 ∧ _x206 ≤ 1 ∧ 1 ≤ _x206 ∧ _x206 = 1 + _x191 ∧ _x205 = _x218 ∧ _x217 = _x217 ∧ _x218 = _x202 ∧ 1 + _x191 ≤ _x193 ∧ _x213 = _x213 ∧ _x214 = _x214 l6 9 l0: x1 = _x219 ∧ x2 = _x220 ∧ x3 = _x221 ∧ x4 = _x222 ∧ x5 = _x223 ∧ x6 = _x224 ∧ x7 = _x225 ∧ x8 = _x226 ∧ x9 = _x227 ∧ x10 = _x228 ∧ x11 = _x229 ∧ x12 = _x230 ∧ x13 = _x231 ∧ x14 = _x232 ∧ x15 = _x233 ∧ x1 = _x234 ∧ x2 = _x235 ∧ x3 = _x236 ∧ x4 = _x237 ∧ x5 = _x238 ∧ x6 = _x239 ∧ x7 = _x240 ∧ x8 = _x241 ∧ x9 = _x242 ∧ x10 = _x243 ∧ x11 = _x244 ∧ x12 = _x245 ∧ x13 = _x246 ∧ x14 = _x247 ∧ x15 = _x248 ∧ _x233 = _x248 ∧ _x232 = _x247 ∧ _x231 = _x246 ∧ _x230 = _x245 ∧ _x229 = _x244 ∧ _x228 = _x243 ∧ _x227 = _x242 ∧ _x226 = _x241 ∧ _x225 = _x240 ∧ _x224 = _x239 ∧ _x223 = _x238 ∧ _x222 = _x237 ∧ _x221 = _x236 ∧ _x220 = _x235 ∧ _x219 = _x234

## Proof

### 1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
 l5 l5 l5: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15 l4 l4 l4: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15 l6 l6 l6: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15 l1 l1 l1: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15 l0 l0 l0: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15 l2 l2 l2: x1 = x1 ∧ x2 = x2 ∧ x3 = x3 ∧ x4 = x4 ∧ x5 = x5 ∧ x6 = x6 ∧ x7 = x7 ∧ x8 = x8 ∧ x9 = x9 ∧ x10 = x10 ∧ x11 = x11 ∧ x12 = x12 ∧ x13 = x13 ∧ x14 = x14 ∧ x15 = x15
and for every transition t, a duplicate t is considered.

### 2 SCC Decomposition

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

### 2.1 SCC Subproblem 1/1

Here we consider the SCC { l5, l4 }.

### 2.1.1 Transition Removal

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

 l4: −1 − x3 + x5 l5: −1 − x3 + x5

### 2.1.2 Transition Removal

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

 l5: 0 l4: −1

### 2.1.3 Trivial Cooperation Program

There are no more "sharp" transitions in the cooperation program. Hence the cooperation termination is proved.

## Tool configuration

AProVE

• version: AProVE Commit ID: unknown
• strategy: Statistics for single proof: 100.00 % (6 real / 0 unknown / 0 assumptions / 6 total proof steps)