LTS Termination Proof

by AProVE

Input

Integer Transition System
• Initial Location: f1512_0_createList_LE, f431_0_createList_Load, f450_0_createList_Return, f853_0_createList_Load, f1_0_main_Load, __init
• Transitions: (pre-variables and post-variables)  f431_0_createList_Load 1 f853_0_createList_Load: x1 = _arg1 ∧ x2 = _arg2 ∧ x3 = _arg3 ∧ x4 = _arg4 ∧ x5 = _arg5 ∧ x6 = _arg6 ∧ x7 = _arg7 ∧ x8 = _arg8 ∧ x9 = _arg9 ∧ x10 = _arg10 ∧ x11 = _arg11 ∧ x12 = _arg12 ∧ x13 = _arg13 ∧ x14 = _arg14 ∧ x15 = _arg15 ∧ x16 = _arg16 ∧ x17 = _arg17 ∧ x18 = _arg18 ∧ x19 = _arg19 ∧ x20 = _arg20 ∧ x21 = _arg21 ∧ x22 = _arg22 ∧ x23 = _arg23 ∧ x1 = _arg1P ∧ x2 = _arg2P ∧ x3 = _arg3P ∧ x4 = _arg4P ∧ x5 = _arg5P ∧ x6 = _arg6P ∧ x7 = _arg7P ∧ x8 = _arg8P ∧ x9 = _arg9P ∧ x10 = _arg10P ∧ x11 = _arg11P ∧ x12 = _arg12P ∧ x13 = _arg13P ∧ x14 = _arg14P ∧ x15 = _arg15P ∧ x16 = _arg16P ∧ x17 = _arg17P ∧ x18 = _arg18P ∧ x19 = _arg19P ∧ x20 = _arg20P ∧ x21 = _arg21P ∧ x22 = _arg22P ∧ x23 = _arg23P ∧ _arg7 = _arg21P ∧ _arg6 = _arg20P ∧ _arg5 = _arg19P ∧ _arg4 = _arg17P ∧ _arg3 = _arg16P ∧ _arg3 = _arg15P ∧ 0 = _arg10P ∧ 0 = _arg9P ∧ 0 = _arg8P ∧ _arg6P = _arg7P ∧ _arg4 = _arg5P ∧ 0 = _arg4P ∧ 0 = _arg3P ∧ _arg1 = _arg1P ∧ _arg6 + 5 ≤ _arg2 ∧ _arg7 + 3 ≤ _arg2 ∧ 9 ≤ _arg2P − 1 ∧ 9 ≤ _arg2 − 1 ∧ _arg2P ≤ _arg2 f1_0_main_Load 2 f1544_0_random_ArrayAccess: 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 ∧ x16 = _x15 ∧ x17 = _x16 ∧ x18 = _x17 ∧ x19 = _x18 ∧ x20 = _x20 ∧ x21 = _x21 ∧ x22 = _x22 ∧ x23 = _x23 ∧ x1 = _x24 ∧ x2 = _x25 ∧ x3 = _x26 ∧ x4 = _x27 ∧ x5 = _x28 ∧ x6 = _x29 ∧ x7 = _x30 ∧ x8 = _x31 ∧ x9 = _x32 ∧ x10 = _x33 ∧ x11 = _x34 ∧ x12 = _x35 ∧ x13 = _x36 ∧ x14 = _x37 ∧ x15 = _x38 ∧ x16 = _x39 ∧ x17 = _x40 ∧ x18 = _x41 ∧ x19 = _x42 ∧ x20 = _x43 ∧ x21 = _x44 ∧ x22 = _x45 ∧ x23 = _x46 ∧ −1 ≤ _x47 − 1 ∧ 0 ≤ _x1 − 1 ∧ 0 ≤ _x − 1 f450_0_createList_Return 3 f1544_0_random_ArrayAccess: x1 = _x48 ∧ x2 = _x49 ∧ x3 = _x50 ∧ x4 = _x51 ∧ x5 = _x52 ∧ x6 = _x53 ∧ x7 = _x54 ∧ x8 = _x56 ∧ x9 = _x57 ∧ x10 = _x58 ∧ x11 = _x59 ∧ x12 = _x60 ∧ x13 = _x61 ∧ x14 = _x62 ∧ x15 = _x63 ∧ x16 = _x64 ∧ x17 = _x65 ∧ x18 = _x66 ∧ x19 = _x67 ∧ x20 = _x68 ∧ x21 = _x69 ∧ x22 = _x70 ∧ x23 = _x71 ∧ x1 = _x72 ∧ x2 = _x73 ∧ x3 = _x74 ∧ x4 = _x75 ∧ x5 = _x76 ∧ x6 = _x77 ∧ x7 = _x78 ∧ x8 = _x79 ∧ x9 = _x80 ∧ x10 = _x81 ∧ x11 = _x82 ∧ x12 = _x83 ∧ x13 = _x84 ∧ x14 = _x85 ∧ x15 = _x86 ∧ x16 = _x87 ∧ x17 = _x88 ∧ x18 = _x89 ∧ x19 = _x90 ∧ x20 = _x91 ∧ x21 = _x94 ∧ x22 = _x95 ∧ x23 = _x96 ∧ _x50 = _x74 ∧ _x49 = _x73 ∧ _x51 = _x72 ∧ 0 ≤ _x48 − 1 f1_0_main_Load 4 f431_0_createList_Load: x1 = _x97 ∧ x2 = _x98 ∧ x3 = _x99 ∧ x4 = _x100 ∧ x5 = _x101 ∧ x6 = _x102 ∧ x7 = _x103 ∧ x8 = _x104 ∧ x9 = _x105 ∧ x10 = _x106 ∧ x11 = _x107 ∧ x12 = _x108 ∧ x13 = _x109 ∧ x14 = _x110 ∧ x15 = _x111 ∧ x16 = _x112 ∧ x17 = _x113 ∧ x18 = _x114 ∧ x19 = _x115 ∧ x20 = _x116 ∧ x21 = _x117 ∧ x22 = _x118 ∧ x23 = _x119 ∧ x1 = _x120 ∧ x2 = _x121 ∧ x3 = _x122 ∧ x4 = _x123 ∧ x5 = _x125 ∧ x6 = _x126 ∧ x7 = _x127 ∧ x8 = _x128 ∧ x9 = _x129 ∧ x10 = _x130 ∧ x11 = _x131 ∧ x12 = _x132 ∧ x13 = _x133 ∧ x14 = _x134 ∧ x15 = _x135 ∧ x16 = _x136 ∧ x17 = _x137 ∧ x18 = _x138 ∧ x19 = _x139 ∧ x20 = _x140 ∧ x21 = _x141 ∧ x22 = _x142 ∧ x23 = _x143 ∧ 0 = _x127 ∧ 0 = _x126 ∧ 1 = _x125 ∧ 7 ≤ _x121 − 1 ∧ 0 ≤ _x97 − 1 ∧ _x121 − 7 ≤ _x97 ∧ 0 ≤ _x98 − 1 ∧ −1 ≤ _x120 − 1 f853_0_createList_Load 5 f1512_0_createList_LE: x1 = _x144 ∧ x2 = _x145 ∧ x3 = _x146 ∧ x4 = _x147 ∧ x5 = _x148 ∧ x6 = _x149 ∧ x7 = _x150 ∧ x8 = _x151 ∧ x9 = _x152 ∧ x10 = _x153 ∧ x11 = _x154 ∧ x12 = _x155 ∧ x13 = _x156 ∧ x14 = _x157 ∧ x15 = _x158 ∧ x16 = _x159 ∧ x17 = _x160 ∧ x18 = _x161 ∧ x19 = _x162 ∧ x20 = _x163 ∧ x21 = _x164 ∧ x22 = _x165 ∧ x23 = _x166 ∧ x1 = _x167 ∧ x2 = _x168 ∧ x3 = _x169 ∧ x4 = _x170 ∧ x5 = _x171 ∧ x6 = _x172 ∧ x7 = _x173 ∧ x8 = _x174 ∧ x9 = _x175 ∧ x10 = _x176 ∧ x11 = _x177 ∧ x12 = _x178 ∧ x13 = _x179 ∧ x14 = _x180 ∧ x15 = _x181 ∧ x16 = _x182 ∧ x17 = _x183 ∧ x18 = _x184 ∧ x19 = _x185 ∧ x20 = _x186 ∧ x21 = _x187 ∧ x22 = _x188 ∧ x23 = _x189 ∧ _x164 = _x189 ∧ _x163 = _x188 ∧ _x162 = _x186 ∧ _x160 = _x185 ∧ _x159 = _x184 ∧ _x158 = _x183 ∧ _x153 = _x182 ∧ _x152 = _x181 ∧ _x151 = _x180 ∧ _x147 = _x179 ∧ 0 = _x178 ∧ _x148 = _x177 ∧ _x157 = _x176 ∧ _x146 = _x175 ∧ _x149 = _x173 ∧ _x155 = _x172 ∧ _x150 = _x171 ∧ _x154 = _x170 ∧ _x156 = _x169 ∧ _x144 = _x168 ∧ _x163 + 5 ≤ _x145 ∧ _x164 + 3 ≤ _x145 ∧ 11 ≤ _x167 − 1 ∧ 11 ≤ _x145 − 1 f1512_0_createList_LE 6 f1512_0_createList_LE: x1 = _x190 ∧ x2 = _x191 ∧ x3 = _x192 ∧ x4 = _x193 ∧ x5 = _x194 ∧ x6 = _x195 ∧ x7 = _x196 ∧ x8 = _x197 ∧ x9 = _x198 ∧ x10 = _x199 ∧ x11 = _x200 ∧ x12 = _x201 ∧ x13 = _x202 ∧ x14 = _x203 ∧ x15 = _x204 ∧ x16 = _x205 ∧ x17 = _x206 ∧ x18 = _x207 ∧ x19 = _x208 ∧ x20 = _x209 ∧ x21 = _x210 ∧ x22 = _x211 ∧ x23 = _x212 ∧ x1 = _x213 ∧ x2 = _x214 ∧ x3 = _x215 ∧ x4 = _x216 ∧ x5 = _x217 ∧ x6 = _x218 ∧ x7 = _x219 ∧ x8 = _x220 ∧ x9 = _x221 ∧ x10 = _x222 ∧ x11 = _x223 ∧ x12 = _x224 ∧ x13 = _x225 ∧ x14 = _x226 ∧ x15 = _x227 ∧ x16 = _x228 ∧ x17 = _x229 ∧ x18 = _x230 ∧ x19 = _x231 ∧ x20 = _x232 ∧ x21 = _x233 ∧ x22 = _x234 ∧ x23 = _x235 ∧ 0 ≤ _x191 − 1 ∧ −1 ≤ _x236 − 1 ∧ 0 ≤ _x195 − 1 ∧ 0 ≤ _x192 − 1 ∧ −1 ≤ _x209 − 1 ∧ _x209 ≤ _x236 − 1 ∧ 0 ≤ _x199 − 1 ∧ 0 ≤ _x193 − 1 ∧ 0 ≤ _x202 − 1 ∧ 0 ≤ _x200 − 1 ∧ 0 ≤ _x201 − 1 ∧ −1 ≤ _x237 − 1 ∧ 0 ≤ _x198 − 1 ∧ 0 ≤ _x194 − 1 ∧ 0 ≤ _x207 − 1 ∧ 0 ≤ _x203 − 1 ∧ 0 ≤ _x208 − 1 ∧ 0 ≤ _x206 − 1 ∧ 0 ≤ _x204 − 1 ∧ 0 ≤ _x205 − 1 ∧ −1 ≤ _x212 − 1 ∧ −1 ≤ _x211 − 1 ∧ 9 ≤ _x190 − 1 ∧ 9 ≤ _x213 − 1 ∧ _x210 + 9 ≤ _x190 ∧ _x212 + 3 ≤ _x190 ∧ _x211 + 5 ≤ _x190 ∧ _x191 − 1 = _x214 ∧ _x192 = _x215 ∧ _x195 = _x218 ∧ _x196 = _x219 ∧ _x197 = _x220 ∧ _x199 = _x222 ∧ _x201 = _x224 ∧ _x209 + 1 = _x232 ∧ _x211 + 1 = _x234 ∧ _x212 + 1 = _x235 f1512_0_createList_LE 7 f1512_0_createList_LE: x1 = _x238 ∧ x2 = _x239 ∧ x3 = _x240 ∧ x4 = _x241 ∧ x5 = _x242 ∧ x6 = _x243 ∧ x7 = _x244 ∧ x8 = _x245 ∧ x9 = _x246 ∧ x10 = _x247 ∧ x11 = _x248 ∧ x12 = _x249 ∧ x13 = _x250 ∧ x14 = _x251 ∧ x15 = _x252 ∧ x16 = _x253 ∧ x17 = _x254 ∧ x18 = _x255 ∧ x19 = _x256 ∧ x20 = _x257 ∧ x21 = _x258 ∧ x22 = _x259 ∧ x23 = _x260 ∧ x1 = _x261 ∧ x2 = _x262 ∧ x3 = _x263 ∧ x4 = _x264 ∧ x5 = _x265 ∧ x6 = _x266 ∧ x7 = _x267 ∧ x8 = _x268 ∧ x9 = _x269 ∧ x10 = _x270 ∧ x11 = _x271 ∧ x12 = _x272 ∧ x13 = _x273 ∧ x14 = _x274 ∧ x15 = _x275 ∧ x16 = _x276 ∧ x17 = _x277 ∧ x18 = _x278 ∧ x19 = _x279 ∧ x20 = _x280 ∧ x21 = _x281 ∧ x22 = _x282 ∧ x23 = _x283 ∧ 0 ≤ _x239 − 1 ∧ −1 ≤ _x284 − 1 ∧ 0 ≤ _x243 − 1 ∧ 0 ≤ _x240 − 1 ∧ −1 ≤ _x257 − 1 ∧ _x257 ≤ _x284 − 1 ∧ 0 ≤ _x247 − 1 ∧ 0 ≤ _x249 − 1 ∧ −1 ≤ _x285 − 1 ∧ 0 ≤ _x255 − 1 ∧ 0 ≤ _x256 − 1 ∧ 0 ≤ _x254 − 1 ∧ 0 ≤ _x245 − 1 ∧ −1 ≤ _x260 − 1 ∧ −1 ≤ _x259 − 1 ∧ 11 ≤ _x238 − 1 ∧ 13 ≤ _x261 − 1 ∧ _x258 + 9 ≤ _x238 ∧ _x260 + 3 ≤ _x238 ∧ _x259 + 5 ≤ _x238 ∧ _x245 = _x246 ∧ _x247 = _x248 ∧ _x249 = _x250 ∧ _x244 = _x253 ∧ _x239 − 1 = _x262 ∧ 0 = _x263 ∧ 1 = _x264 ∧ 1 = _x265 ∧ _x245 = _x268 ∧ _x247 = _x270 ∧ _x249 = _x272 ∧ 0 = _x273 ∧ 2 = _x274 ∧ _x257 + 1 = _x280 ∧ _x259 + 1 = _x282 ∧ _x260 + 1 = _x283 __init 8 f1_0_main_Load: x1 = _x286 ∧ x2 = _x287 ∧ x3 = _x288 ∧ x4 = _x289 ∧ x5 = _x290 ∧ x6 = _x291 ∧ x7 = _x292 ∧ x8 = _x293 ∧ x9 = _x294 ∧ x10 = _x295 ∧ x11 = _x296 ∧ x12 = _x297 ∧ x13 = _x298 ∧ x14 = _x299 ∧ x15 = _x300 ∧ x16 = _x301 ∧ x17 = _x302 ∧ x18 = _x303 ∧ x19 = _x304 ∧ x20 = _x305 ∧ x21 = _x306 ∧ x22 = _x307 ∧ x23 = _x308 ∧ x1 = _x309 ∧ x2 = _x310 ∧ x3 = _x311 ∧ x4 = _x312 ∧ x5 = _x313 ∧ x6 = _x314 ∧ x7 = _x315 ∧ x8 = _x316 ∧ x9 = _x317 ∧ x10 = _x318 ∧ x11 = _x319 ∧ x12 = _x320 ∧ x13 = _x321 ∧ x14 = _x322 ∧ x15 = _x323 ∧ x16 = _x324 ∧ x17 = _x325 ∧ x18 = _x326 ∧ x19 = _x327 ∧ x20 = _x328 ∧ x21 = _x329 ∧ x22 = _x330 ∧ x23 = _x331 ∧ 0 ≤ 0

Proof

1 Switch to Cooperation Termination Proof

We consider the following cutpoint-transitions:
 f1512_0_createList_LE f1512_0_createList_LE f1512_0_createList_LE: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23 f431_0_createList_Load f431_0_createList_Load f431_0_createList_Load: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23 f450_0_createList_Return f450_0_createList_Return f450_0_createList_Return: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23 f853_0_createList_Load f853_0_createList_Load f853_0_createList_Load: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23 f1_0_main_Load f1_0_main_Load f1_0_main_Load: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23 __init __init __init: 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 ∧ x16 = x16 ∧ x17 = x17 ∧ x18 = x18 ∧ x19 = x19 ∧ x20 = x20 ∧ x21 = x21 ∧ x22 = x22 ∧ x23 = x23
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 { f1512_0_createList_LE }.

2.1.1 Transition Removal

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

 f1512_0_createList_LE: x2

2.1.2 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 % (4 real / 0 unknown / 0 assumptions / 4 total proof steps)