YES proof of prog.inttrs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IRSwT could be proven: (0) IRSwT (1) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (2) IRSwT (3) IRSwTTerminationDigraphProof [EQUIVALENT, 6204 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 7 ms] (7) IRSwT (8) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (9) IRSwT (10) TempFilterProof [SOUND, 19 ms] (11) IntTRS (12) PolynomialOrderProcessor [EQUIVALENT, 1 ms] (13) YES (14) IRSwT (15) IntTRSCompressionProof [EQUIVALENT, 4 ms] (16) IRSwT (17) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (18) IRSwT (19) TempFilterProof [SOUND, 20 ms] (20) IntTRS (21) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (22) YES ---------------------------------------- (0) Obligation: Rules: l0(Result_6HAT0, _HAT0, __const_17HAT0, a_128HAT0, a_243HAT0, c_15HAT0, elem_16HAT0, head_9HAT0, i_8HAT0, k_296HAT0, len_246HAT0, len_48HAT0, length_7HAT0, lt_18HAT0, lt_19HAT0, lt_20HAT0, lt_21HAT0, prev_17HAT0, x_13HAT0, x_23HAT0, y_110HAT0, y_14HAT0, y_158HAT0, y_259HAT0, y_309HAT0, y_80HAT0) -> l1(Result_6HATpost, _HATpost, __const_17HATpost, a_128HATpost, a_243HATpost, c_15HATpost, elem_16HATpost, head_9HATpost, i_8HATpost, k_296HATpost, len_246HATpost, len_48HATpost, length_7HATpost, lt_18HATpost, lt_19HATpost, lt_20HATpost, lt_21HATpost, prev_17HATpost, x_13HATpost, x_23HATpost, y_110HATpost, y_14HATpost, y_158HATpost, y_259HATpost, y_309HATpost, y_80HATpost) :|: 0 <= len_48HAT0 && -1 * i_8HAT0 + length_7HAT0 <= 0 && Result_6HATpost = head_9HAT0 && 0 <= len_48HAT0 && 0 <= len_48HAT0 && x_13HAT1 = Result_6HATpost && c_15HAT1 = x_13HAT1 && x_13HAT2 = 0 && 0 <= len_48HAT0 && y_14HAT1 = c_15HAT1 && lt_21HAT1 = y_80HAT0 && c_15HAT2 = lt_21HAT1 && lt_21HAT2 = lt_21HAT2 && elem_16HAT1 = x_13HAT2 && prev_17HAT1 = 0 && 0 <= -1 + len_48HAT0 && elem_16HAT1 <= 0 && 0 <= elem_16HAT1 && prev_17HAT1 <= 0 && 0 <= prev_17HAT1 && x_13HAT3 = y_14HAT1 && 0 <= -1 + len_48HAT0 && a_128HATpost = -2 + len_48HAT0 && y_14HAT2 = c_15HAT2 && lt_21HAT3 = y_110HAT0 && c_15HAT3 = lt_21HAT3 && lt_21HAT4 = lt_21HAT4 && elem_16HAT2 = x_13HAT3 && prev_17HAT2 = 0 && 0 <= a_128HATpost && lt_19HAT1 = lt_19HAT1 && lt_20HAT1 = lt_20HAT1 && 0 <= lt_19HAT1 - lt_20HAT1 && lt_19HATpost = lt_19HATpost && lt_20HATpost = lt_20HATpost && prev_17HAT2 <= 0 && 0 <= prev_17HAT2 && x_13HATpost = y_14HAT2 && 0 <= a_128HATpost && len_246HATpost = 1 && a_243HATpost = -1 + _HAT0 + a_128HATpost && y_14HATpost = c_15HAT3 && lt_21HAT5 = y_158HAT0 && c_15HATpost = lt_21HAT5 && lt_21HATpost = lt_21HATpost && elem_16HATpost = x_13HATpost && prev_17HATpost = 0 && _HAT0 = _HATpost && __const_17HAT0 = __const_17HATpost && head_9HAT0 = head_9HATpost && i_8HAT0 = i_8HATpost && k_296HAT0 = k_296HATpost && len_48HAT0 = len_48HATpost && length_7HAT0 = length_7HATpost && lt_18HAT0 = lt_18HATpost && x_23HAT0 = x_23HATpost && y_110HAT0 = y_110HATpost && y_158HAT0 = y_158HATpost && y_259HAT0 = y_259HATpost && y_309HAT0 = y_309HATpost && y_80HAT0 = y_80HATpost l0(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> l2(x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51) :|: x25 = x51 && x24 = x50 && x23 = x49 && x22 = x48 && x21 = x47 && x20 = x46 && x19 = x45 && x18 = x44 && x17 = x43 && x16 = x42 && x15 = x41 && x14 = x40 && x13 = x39 && x12 = x38 && x10 = x36 && x9 = x35 && x6 = x32 && x5 = x31 && x4 = x30 && x3 = x29 && x2 = x28 && x1 = x27 && x = x26 && x34 = 1 + x8 && x33 = x33 && 0 <= -1 - x8 + x12 && x37 = 1 + x11 && 0 <= x11 l2(x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77) -> l0(x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95, x96, x97, x98, x99, x100, x101, x102, x103) :|: x77 = x103 && x76 = x102 && x75 = x101 && x74 = x100 && x73 = x99 && x72 = x98 && x71 = x97 && x70 = x96 && x69 = x95 && x68 = x94 && x67 = x93 && x66 = x92 && x65 = x91 && x64 = x90 && x63 = x89 && x62 = x88 && x61 = x87 && x60 = x86 && x59 = x85 && x58 = x84 && x57 = x83 && x56 = x82 && x55 = x81 && x54 = x80 && x53 = x79 && x52 = x78 l3(x104, x105, x106, x107, x108, x109, x110, x111, x112, x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123, x124, x125, x126, x127, x128, x129) -> l0(x130, x131, x132, x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155) :|: x156 = 0 && x142 = x106 && x148 = x123 && x157 = 0 && x158 = 0 && x141 = x158 && 0 <= -1 - x158 + x142 && x137 = x137 && x138 = 1 + x158 && x104 = x130 && x105 = x131 && x106 = x132 && x107 = x133 && x108 = x134 && x109 = x135 && x110 = x136 && x113 = x139 && x114 = x140 && x117 = x143 && x118 = x144 && x119 = x145 && x120 = x146 && x121 = x147 && x123 = x149 && x124 = x150 && x125 = x151 && x126 = x152 && x127 = x153 && x128 = x154 && x129 = x155 l1(x159, x160, x161, x162, x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, x184) -> l4(x185, x186, x187, x188, x189, x190, x191, x192, x193, x194, x195, x196, x197, x198, x199, x200, x201, x202, x203, x204, x205, x206, x207, x208, x209, x210) :|: 0 <= x163 && 0 <= x169 && x194 = x169 && x211 = x211 && x212 = x212 && 0 <= x211 - x212 && x199 = x199 && x200 = x200 && x176 <= 0 && 0 <= x176 && x203 = x180 && x159 = x185 && x160 = x186 && x161 = x187 && x162 = x188 && x163 = x189 && x164 = x190 && x165 = x191 && x166 = x192 && x167 = x193 && x169 = x195 && x170 = x196 && x171 = x197 && x172 = x198 && x175 = x201 && x176 = x202 && x178 = x204 && x179 = x205 && x180 = x206 && x181 = x207 && x182 = x208 && x183 = x209 && x184 = x210 l1(x213, x214, x215, x216, x217, x218, x219, x220, x221, x222, x223, x224, x225, x226, x227, x228, x229, x230, x231, x232, x233, x234, x235, x236, x237, x238) -> l5(x239, x240, x241, x242, x243, x244, x245, x246, x247, x248, x249, x250, x251, x252, x253, x254, x255, x256, x257, x258, x259, x260, x261, x262, x263, x264) :|: 0 <= x217 && 0 <= x223 && x265 = x265 && x266 = x266 && 1 + x265 - x266 <= 0 && x253 = x253 && x254 = x254 && x256 = x219 && x267 = x236 && x245 = x267 && x252 = x252 && 0 <= x217 && 0 <= -1 + x223 && x213 = x239 && x214 = x240 && x215 = x241 && x216 = x242 && x217 = x243 && x218 = x244 && x220 = x246 && x221 = x247 && x222 = x248 && x223 = x249 && x224 = x250 && x225 = x251 && x229 = x255 && x231 = x257 && x232 = x258 && x233 = x259 && x234 = x260 && x235 = x261 && x236 = x262 && x237 = x263 && x238 = x264 l4(x268, x269, x270, x271, x272, x273, x274, x275, x276, x277, x278, x279, x280, x281, x282, x283, x284, x285, x286, x287, x288, x289, x290, x291, x292, x293) -> l6(x294, x295, x296, x297, x298, x299, x300, x301, x302, x303, x304, x305, x306, x307, x308, x309, x310, x311, x312, x313, x314, x315, x316, x317, x318, x319) :|: x293 = x319 && x292 = x318 && x291 = x317 && x290 = x316 && x289 = x315 && x288 = x314 && x287 = x313 && x286 = x312 && x285 = x311 && x284 = x310 && x283 = x309 && x282 = x308 && x281 = x307 && x280 = x306 && x279 = x305 && x278 = x304 && x277 = x303 && x276 = x302 && x275 = x301 && x274 = x300 && x273 = x299 && x272 = x298 && x271 = x297 && x270 = x296 && x269 = x295 && x294 = x294 && 0 <= x273 && x273 <= 0 && 0 <= x277 && 0 <= x272 l4(x320, x321, x322, x323, x324, x325, x326, x327, x328, x329, x330, x331, x332, x333, x334, x335, x336, x337, x338, x339, x340, x341, x342, x343, x344, x345) -> l1(x346, x347, x348, x349, x350, x351, x352, x353, x354, x355, x356, x357, x358, x359, x360, x361, x362, x363, x364, x365, x366, x367, x368, x369, x370, x371) :|: 0 <= x324 && 0 <= x329 && x356 = 1 + x329 && x350 = -1 + x324 && x367 = x325 && x372 = x344 && x351 = x372 && x362 = x362 && x352 = x338 && x363 = 0 && x320 = x346 && x321 = x347 && x322 = x348 && x323 = x349 && x327 = x353 && x328 = x354 && x329 = x355 && x331 = x357 && x332 = x358 && x333 = x359 && x334 = x360 && x335 = x361 && x338 = x364 && x339 = x365 && x340 = x366 && x342 = x368 && x343 = x369 && x344 = x370 && x345 = x371 l7(x373, x374, x375, x376, x377, x378, x379, x380, x381, x382, x383, x384, x385, x386, x387, x388, x389, x390, x391, x392, x393, x394, x395, x396, x397, x398) -> l3(x399, x400, x401, x402, x403, x404, x405, x406, x407, x408, x409, x410, x411, x412, x413, x414, x415, x416, x417, x418, x419, x420, x421, x422, x423, x424) :|: x398 = x424 && x397 = x423 && x396 = x422 && x395 = x421 && x394 = x420 && x393 = x419 && x392 = x418 && x391 = x417 && x390 = x416 && x389 = x415 && x388 = x414 && x387 = x413 && x386 = x412 && x385 = x411 && x384 = x410 && x383 = x409 && x382 = x408 && x381 = x407 && x380 = x406 && x379 = x405 && x378 = x404 && x377 = x403 && x376 = x402 && x375 = x401 && x374 = x400 && x373 = x399 Start term: l7(Result_6HAT0, _HAT0, __const_17HAT0, a_128HAT0, a_243HAT0, c_15HAT0, elem_16HAT0, head_9HAT0, i_8HAT0, k_296HAT0, len_246HAT0, len_48HAT0, length_7HAT0, lt_18HAT0, lt_19HAT0, lt_20HAT0, lt_21HAT0, prev_17HAT0, x_13HAT0, x_23HAT0, y_110HAT0, y_14HAT0, y_158HAT0, y_259HAT0, y_309HAT0, y_80HAT0) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: l0(Result_6HAT0, _HAT0, __const_17HAT0, a_128HAT0, a_243HAT0, c_15HAT0, elem_16HAT0, head_9HAT0, i_8HAT0, k_296HAT0, len_246HAT0, len_48HAT0, length_7HAT0, lt_18HAT0, lt_19HAT0, lt_20HAT0, lt_21HAT0, prev_17HAT0, x_13HAT0, x_23HAT0, y_110HAT0, y_14HAT0, y_158HAT0, y_259HAT0, y_309HAT0, y_80HAT0) -> l1(Result_6HATpost, _HATpost, __const_17HATpost, a_128HATpost, a_243HATpost, c_15HATpost, elem_16HATpost, head_9HATpost, i_8HATpost, k_296HATpost, len_246HATpost, len_48HATpost, length_7HATpost, lt_18HATpost, lt_19HATpost, lt_20HATpost, lt_21HATpost, prev_17HATpost, x_13HATpost, x_23HATpost, y_110HATpost, y_14HATpost, y_158HATpost, y_259HATpost, y_309HATpost, y_80HATpost) :|: 0 <= len_48HAT0 && -1 * i_8HAT0 + length_7HAT0 <= 0 && Result_6HATpost = head_9HAT0 && 0 <= len_48HAT0 && 0 <= len_48HAT0 && x_13HAT1 = Result_6HATpost && c_15HAT1 = x_13HAT1 && x_13HAT2 = 0 && 0 <= len_48HAT0 && y_14HAT1 = c_15HAT1 && lt_21HAT1 = y_80HAT0 && c_15HAT2 = lt_21HAT1 && lt_21HAT2 = lt_21HAT2 && elem_16HAT1 = x_13HAT2 && prev_17HAT1 = 0 && 0 <= -1 + len_48HAT0 && elem_16HAT1 <= 0 && 0 <= elem_16HAT1 && prev_17HAT1 <= 0 && 0 <= prev_17HAT1 && x_13HAT3 = y_14HAT1 && 0 <= -1 + len_48HAT0 && a_128HATpost = -2 + len_48HAT0 && y_14HAT2 = c_15HAT2 && lt_21HAT3 = y_110HAT0 && c_15HAT3 = lt_21HAT3 && lt_21HAT4 = lt_21HAT4 && elem_16HAT2 = x_13HAT3 && prev_17HAT2 = 0 && 0 <= a_128HATpost && lt_19HAT1 = lt_19HAT1 && lt_20HAT1 = lt_20HAT1 && 0 <= lt_19HAT1 - lt_20HAT1 && lt_19HATpost = lt_19HATpost && lt_20HATpost = lt_20HATpost && prev_17HAT2 <= 0 && 0 <= prev_17HAT2 && x_13HATpost = y_14HAT2 && 0 <= a_128HATpost && len_246HATpost = 1 && a_243HATpost = -1 + _HAT0 + a_128HATpost && y_14HATpost = c_15HAT3 && lt_21HAT5 = y_158HAT0 && c_15HATpost = lt_21HAT5 && lt_21HATpost = lt_21HATpost && elem_16HATpost = x_13HATpost && prev_17HATpost = 0 && _HAT0 = _HATpost && __const_17HAT0 = __const_17HATpost && head_9HAT0 = head_9HATpost && i_8HAT0 = i_8HATpost && k_296HAT0 = k_296HATpost && len_48HAT0 = len_48HATpost && length_7HAT0 = length_7HATpost && lt_18HAT0 = lt_18HATpost && x_23HAT0 = x_23HATpost && y_110HAT0 = y_110HATpost && y_158HAT0 = y_158HATpost && y_259HAT0 = y_259HATpost && y_309HAT0 = y_309HATpost && y_80HAT0 = y_80HATpost l0(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> l2(x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51) :|: x25 = x51 && x24 = x50 && x23 = x49 && x22 = x48 && x21 = x47 && x20 = x46 && x19 = x45 && x18 = x44 && x17 = x43 && x16 = x42 && x15 = x41 && x14 = x40 && x13 = x39 && x12 = x38 && x10 = x36 && x9 = x35 && x6 = x32 && x5 = x31 && x4 = x30 && x3 = x29 && x2 = x28 && x1 = x27 && x = x26 && x34 = 1 + x8 && x33 = x33 && 0 <= -1 - x8 + x12 && x37 = 1 + x11 && 0 <= x11 l2(x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77) -> l0(x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95, x96, x97, x98, x99, x100, x101, x102, x103) :|: x77 = x103 && x76 = x102 && x75 = x101 && x74 = x100 && x73 = x99 && x72 = x98 && x71 = x97 && x70 = x96 && x69 = x95 && x68 = x94 && x67 = x93 && x66 = x92 && x65 = x91 && x64 = x90 && x63 = x89 && x62 = x88 && x61 = x87 && x60 = x86 && x59 = x85 && x58 = x84 && x57 = x83 && x56 = x82 && x55 = x81 && x54 = x80 && x53 = x79 && x52 = x78 l3(x104, x105, x106, x107, x108, x109, x110, x111, x112, x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123, x124, x125, x126, x127, x128, x129) -> l0(x130, x131, x132, x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155) :|: x156 = 0 && x142 = x106 && x148 = x123 && x157 = 0 && x158 = 0 && x141 = x158 && 0 <= -1 - x158 + x142 && x137 = x137 && x138 = 1 + x158 && x104 = x130 && x105 = x131 && x106 = x132 && x107 = x133 && x108 = x134 && x109 = x135 && x110 = x136 && x113 = x139 && x114 = x140 && x117 = x143 && x118 = x144 && x119 = x145 && x120 = x146 && x121 = x147 && x123 = x149 && x124 = x150 && x125 = x151 && x126 = x152 && x127 = x153 && x128 = x154 && x129 = x155 l1(x159, x160, x161, x162, x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, x184) -> l4(x185, x186, x187, x188, x189, x190, x191, x192, x193, x194, x195, x196, x197, x198, x199, x200, x201, x202, x203, x204, x205, x206, x207, x208, x209, x210) :|: 0 <= x163 && 0 <= x169 && x194 = x169 && x211 = x211 && x212 = x212 && 0 <= x211 - x212 && x199 = x199 && x200 = x200 && x176 <= 0 && 0 <= x176 && x203 = x180 && x159 = x185 && x160 = x186 && x161 = x187 && x162 = x188 && x163 = x189 && x164 = x190 && x165 = x191 && x166 = x192 && x167 = x193 && x169 = x195 && x170 = x196 && x171 = x197 && x172 = x198 && x175 = x201 && x176 = x202 && x178 = x204 && x179 = x205 && x180 = x206 && x181 = x207 && x182 = x208 && x183 = x209 && x184 = x210 l1(x213, x214, x215, x216, x217, x218, x219, x220, x221, x222, x223, x224, x225, x226, x227, x228, x229, x230, x231, x232, x233, x234, x235, x236, x237, x238) -> l5(x239, x240, x241, x242, x243, x244, x245, x246, x247, x248, x249, x250, x251, x252, x253, x254, x255, x256, x257, x258, x259, x260, x261, x262, x263, x264) :|: 0 <= x217 && 0 <= x223 && x265 = x265 && x266 = x266 && 1 + x265 - x266 <= 0 && x253 = x253 && x254 = x254 && x256 = x219 && x267 = x236 && x245 = x267 && x252 = x252 && 0 <= x217 && 0 <= -1 + x223 && x213 = x239 && x214 = x240 && x215 = x241 && x216 = x242 && x217 = x243 && x218 = x244 && x220 = x246 && x221 = x247 && x222 = x248 && x223 = x249 && x224 = x250 && x225 = x251 && x229 = x255 && x231 = x257 && x232 = x258 && x233 = x259 && x234 = x260 && x235 = x261 && x236 = x262 && x237 = x263 && x238 = x264 l4(x268, x269, x270, x271, x272, x273, x274, x275, x276, x277, x278, x279, x280, x281, x282, x283, x284, x285, x286, x287, x288, x289, x290, x291, x292, x293) -> l6(x294, x295, x296, x297, x298, x299, x300, x301, x302, x303, x304, x305, x306, x307, x308, x309, x310, x311, x312, x313, x314, x315, x316, x317, x318, x319) :|: x293 = x319 && x292 = x318 && x291 = x317 && x290 = x316 && x289 = x315 && x288 = x314 && x287 = x313 && x286 = x312 && x285 = x311 && x284 = x310 && x283 = x309 && x282 = x308 && x281 = x307 && x280 = x306 && x279 = x305 && x278 = x304 && x277 = x303 && x276 = x302 && x275 = x301 && x274 = x300 && x273 = x299 && x272 = x298 && x271 = x297 && x270 = x296 && x269 = x295 && x294 = x294 && 0 <= x273 && x273 <= 0 && 0 <= x277 && 0 <= x272 l4(x320, x321, x322, x323, x324, x325, x326, x327, x328, x329, x330, x331, x332, x333, x334, x335, x336, x337, x338, x339, x340, x341, x342, x343, x344, x345) -> l1(x346, x347, x348, x349, x350, x351, x352, x353, x354, x355, x356, x357, x358, x359, x360, x361, x362, x363, x364, x365, x366, x367, x368, x369, x370, x371) :|: 0 <= x324 && 0 <= x329 && x356 = 1 + x329 && x350 = -1 + x324 && x367 = x325 && x372 = x344 && x351 = x372 && x362 = x362 && x352 = x338 && x363 = 0 && x320 = x346 && x321 = x347 && x322 = x348 && x323 = x349 && x327 = x353 && x328 = x354 && x329 = x355 && x331 = x357 && x332 = x358 && x333 = x359 && x334 = x360 && x335 = x361 && x338 = x364 && x339 = x365 && x340 = x366 && x342 = x368 && x343 = x369 && x344 = x370 && x345 = x371 l7(x373, x374, x375, x376, x377, x378, x379, x380, x381, x382, x383, x384, x385, x386, x387, x388, x389, x390, x391, x392, x393, x394, x395, x396, x397, x398) -> l3(x399, x400, x401, x402, x403, x404, x405, x406, x407, x408, x409, x410, x411, x412, x413, x414, x415, x416, x417, x418, x419, x420, x421, x422, x423, x424) :|: x398 = x424 && x397 = x423 && x396 = x422 && x395 = x421 && x394 = x420 && x393 = x419 && x392 = x418 && x391 = x417 && x390 = x416 && x389 = x415 && x388 = x414 && x387 = x413 && x386 = x412 && x385 = x411 && x384 = x410 && x383 = x409 && x382 = x408 && x381 = x407 && x380 = x406 && x379 = x405 && x378 = x404 && x377 = x403 && x376 = x402 && x375 = x401 && x374 = x400 && x373 = x399 Start term: l7(Result_6HAT0, _HAT0, __const_17HAT0, a_128HAT0, a_243HAT0, c_15HAT0, elem_16HAT0, head_9HAT0, i_8HAT0, k_296HAT0, len_246HAT0, len_48HAT0, length_7HAT0, lt_18HAT0, lt_19HAT0, lt_20HAT0, lt_21HAT0, prev_17HAT0, x_13HAT0, x_23HAT0, y_110HAT0, y_14HAT0, y_158HAT0, y_259HAT0, y_309HAT0, y_80HAT0) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l0(Result_6HAT0, _HAT0, __const_17HAT0, a_128HAT0, a_243HAT0, c_15HAT0, elem_16HAT0, head_9HAT0, i_8HAT0, k_296HAT0, len_246HAT0, len_48HAT0, length_7HAT0, lt_18HAT0, lt_19HAT0, lt_20HAT0, lt_21HAT0, prev_17HAT0, x_13HAT0, x_23HAT0, y_110HAT0, y_14HAT0, y_158HAT0, y_259HAT0, y_309HAT0, y_80HAT0) -> l1(Result_6HATpost, _HATpost, __const_17HATpost, a_128HATpost, a_243HATpost, c_15HATpost, elem_16HATpost, head_9HATpost, i_8HATpost, k_296HATpost, len_246HATpost, len_48HATpost, length_7HATpost, lt_18HATpost, lt_19HATpost, lt_20HATpost, lt_21HATpost, prev_17HATpost, x_13HATpost, x_23HATpost, y_110HATpost, y_14HATpost, y_158HATpost, y_259HATpost, y_309HATpost, y_80HATpost) :|: 0 <= len_48HAT0 && -1 * i_8HAT0 + length_7HAT0 <= 0 && Result_6HATpost = head_9HAT0 && 0 <= len_48HAT0 && 0 <= len_48HAT0 && x_13HAT1 = Result_6HATpost && c_15HAT1 = x_13HAT1 && x_13HAT2 = 0 && 0 <= len_48HAT0 && y_14HAT1 = c_15HAT1 && lt_21HAT1 = y_80HAT0 && c_15HAT2 = lt_21HAT1 && lt_21HAT2 = lt_21HAT2 && elem_16HAT1 = x_13HAT2 && prev_17HAT1 = 0 && 0 <= -1 + len_48HAT0 && elem_16HAT1 <= 0 && 0 <= elem_16HAT1 && prev_17HAT1 <= 0 && 0 <= prev_17HAT1 && x_13HAT3 = y_14HAT1 && 0 <= -1 + len_48HAT0 && a_128HATpost = -2 + len_48HAT0 && y_14HAT2 = c_15HAT2 && lt_21HAT3 = y_110HAT0 && c_15HAT3 = lt_21HAT3 && lt_21HAT4 = lt_21HAT4 && elem_16HAT2 = x_13HAT3 && prev_17HAT2 = 0 && 0 <= a_128HATpost && lt_19HAT1 = lt_19HAT1 && lt_20HAT1 = lt_20HAT1 && 0 <= lt_19HAT1 - lt_20HAT1 && lt_19HATpost = lt_19HATpost && lt_20HATpost = lt_20HATpost && prev_17HAT2 <= 0 && 0 <= prev_17HAT2 && x_13HATpost = y_14HAT2 && 0 <= a_128HATpost && len_246HATpost = 1 && a_243HATpost = -1 + _HAT0 + a_128HATpost && y_14HATpost = c_15HAT3 && lt_21HAT5 = y_158HAT0 && c_15HATpost = lt_21HAT5 && lt_21HATpost = lt_21HATpost && elem_16HATpost = x_13HATpost && prev_17HATpost = 0 && _HAT0 = _HATpost && __const_17HAT0 = __const_17HATpost && head_9HAT0 = head_9HATpost && i_8HAT0 = i_8HATpost && k_296HAT0 = k_296HATpost && len_48HAT0 = len_48HATpost && length_7HAT0 = length_7HATpost && lt_18HAT0 = lt_18HATpost && x_23HAT0 = x_23HATpost && y_110HAT0 = y_110HATpost && y_158HAT0 = y_158HATpost && y_259HAT0 = y_259HATpost && y_309HAT0 = y_309HATpost && y_80HAT0 = y_80HATpost (2) l0(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> l2(x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51) :|: x25 = x51 && x24 = x50 && x23 = x49 && x22 = x48 && x21 = x47 && x20 = x46 && x19 = x45 && x18 = x44 && x17 = x43 && x16 = x42 && x15 = x41 && x14 = x40 && x13 = x39 && x12 = x38 && x10 = x36 && x9 = x35 && x6 = x32 && x5 = x31 && x4 = x30 && x3 = x29 && x2 = x28 && x1 = x27 && x = x26 && x34 = 1 + x8 && x33 = x33 && 0 <= -1 - x8 + x12 && x37 = 1 + x11 && 0 <= x11 (3) l2(x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77) -> l0(x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95, x96, x97, x98, x99, x100, x101, x102, x103) :|: x77 = x103 && x76 = x102 && x75 = x101 && x74 = x100 && x73 = x99 && x72 = x98 && x71 = x97 && x70 = x96 && x69 = x95 && x68 = x94 && x67 = x93 && x66 = x92 && x65 = x91 && x64 = x90 && x63 = x89 && x62 = x88 && x61 = x87 && x60 = x86 && x59 = x85 && x58 = x84 && x57 = x83 && x56 = x82 && x55 = x81 && x54 = x80 && x53 = x79 && x52 = x78 (4) l3(x104, x105, x106, x107, x108, x109, x110, x111, x112, x113, x114, x115, x116, x117, x118, x119, x120, x121, x122, x123, x124, x125, x126, x127, x128, x129) -> l0(x130, x131, x132, x133, x134, x135, x136, x137, x138, x139, x140, x141, x142, x143, x144, x145, x146, x147, x148, x149, x150, x151, x152, x153, x154, x155) :|: x156 = 0 && x142 = x106 && x148 = x123 && x157 = 0 && x158 = 0 && x141 = x158 && 0 <= -1 - x158 + x142 && x137 = x137 && x138 = 1 + x158 && x104 = x130 && x105 = x131 && x106 = x132 && x107 = x133 && x108 = x134 && x109 = x135 && x110 = x136 && x113 = x139 && x114 = x140 && x117 = x143 && x118 = x144 && x119 = x145 && x120 = x146 && x121 = x147 && x123 = x149 && x124 = x150 && x125 = x151 && x126 = x152 && x127 = x153 && x128 = x154 && x129 = x155 (5) l1(x159, x160, x161, x162, x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, x184) -> l4(x185, x186, x187, x188, x189, x190, x191, x192, x193, x194, x195, x196, x197, x198, x199, x200, x201, x202, x203, x204, x205, x206, x207, x208, x209, x210) :|: 0 <= x163 && 0 <= x169 && x194 = x169 && x211 = x211 && x212 = x212 && 0 <= x211 - x212 && x199 = x199 && x200 = x200 && x176 <= 0 && 0 <= x176 && x203 = x180 && x159 = x185 && x160 = x186 && x161 = x187 && x162 = x188 && x163 = x189 && x164 = x190 && x165 = x191 && x166 = x192 && x167 = x193 && x169 = x195 && x170 = x196 && x171 = x197 && x172 = x198 && x175 = x201 && x176 = x202 && x178 = x204 && x179 = x205 && x180 = x206 && x181 = x207 && x182 = x208 && x183 = x209 && x184 = x210 (6) l1(x213, x214, x215, x216, x217, x218, x219, x220, x221, x222, x223, x224, x225, x226, x227, x228, x229, x230, x231, x232, x233, x234, x235, x236, x237, x238) -> l5(x239, x240, x241, x242, x243, x244, x245, x246, x247, x248, x249, x250, x251, x252, x253, x254, x255, x256, x257, x258, x259, x260, x261, x262, x263, x264) :|: 0 <= x217 && 0 <= x223 && x265 = x265 && x266 = x266 && 1 + x265 - x266 <= 0 && x253 = x253 && x254 = x254 && x256 = x219 && x267 = x236 && x245 = x267 && x252 = x252 && 0 <= x217 && 0 <= -1 + x223 && x213 = x239 && x214 = x240 && x215 = x241 && x216 = x242 && x217 = x243 && x218 = x244 && x220 = x246 && x221 = x247 && x222 = x248 && x223 = x249 && x224 = x250 && x225 = x251 && x229 = x255 && x231 = x257 && x232 = x258 && x233 = x259 && x234 = x260 && x235 = x261 && x236 = x262 && x237 = x263 && x238 = x264 (7) l4(x268, x269, x270, x271, x272, x273, x274, x275, x276, x277, x278, x279, x280, x281, x282, x283, x284, x285, x286, x287, x288, x289, x290, x291, x292, x293) -> l6(x294, x295, x296, x297, x298, x299, x300, x301, x302, x303, x304, x305, x306, x307, x308, x309, x310, x311, x312, x313, x314, x315, x316, x317, x318, x319) :|: x293 = x319 && x292 = x318 && x291 = x317 && x290 = x316 && x289 = x315 && x288 = x314 && x287 = x313 && x286 = x312 && x285 = x311 && x284 = x310 && x283 = x309 && x282 = x308 && x281 = x307 && x280 = x306 && x279 = x305 && x278 = x304 && x277 = x303 && x276 = x302 && x275 = x301 && x274 = x300 && x273 = x299 && x272 = x298 && x271 = x297 && x270 = x296 && x269 = x295 && x294 = x294 && 0 <= x273 && x273 <= 0 && 0 <= x277 && 0 <= x272 (8) l4(x320, x321, x322, x323, x324, x325, x326, x327, x328, x329, x330, x331, x332, x333, x334, x335, x336, x337, x338, x339, x340, x341, x342, x343, x344, x345) -> l1(x346, x347, x348, x349, x350, x351, x352, x353, x354, x355, x356, x357, x358, x359, x360, x361, x362, x363, x364, x365, x366, x367, x368, x369, x370, x371) :|: 0 <= x324 && 0 <= x329 && x356 = 1 + x329 && x350 = -1 + x324 && x367 = x325 && x372 = x344 && x351 = x372 && x362 = x362 && x352 = x338 && x363 = 0 && x320 = x346 && x321 = x347 && x322 = x348 && x323 = x349 && x327 = x353 && x328 = x354 && x329 = x355 && x331 = x357 && x332 = x358 && x333 = x359 && x334 = x360 && x335 = x361 && x338 = x364 && x339 = x365 && x340 = x366 && x342 = x368 && x343 = x369 && x344 = x370 && x345 = x371 (9) l7(x373, x374, x375, x376, x377, x378, x379, x380, x381, x382, x383, x384, x385, x386, x387, x388, x389, x390, x391, x392, x393, x394, x395, x396, x397, x398) -> l3(x399, x400, x401, x402, x403, x404, x405, x406, x407, x408, x409, x410, x411, x412, x413, x414, x415, x416, x417, x418, x419, x420, x421, x422, x423, x424) :|: x398 = x424 && x397 = x423 && x396 = x422 && x395 = x421 && x394 = x420 && x393 = x419 && x392 = x418 && x391 = x417 && x390 = x416 && x389 = x415 && x388 = x414 && x387 = x413 && x386 = x412 && x385 = x411 && x384 = x410 && x383 = x409 && x382 = x408 && x381 = x407 && x380 = x406 && x379 = x405 && x378 = x404 && x377 = x403 && x376 = x402 && x375 = x401 && x374 = x400 && x373 = x399 Arcs: (1) -> (5), (6) (2) -> (3) (3) -> (1), (2) (4) -> (2) (5) -> (7), (8) (8) -> (5), (6) (9) -> (4) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) l0(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) -> l2(x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51) :|: x25 = x51 && x24 = x50 && x23 = x49 && x22 = x48 && x21 = x47 && x20 = x46 && x19 = x45 && x18 = x44 && x17 = x43 && x16 = x42 && x15 = x41 && x14 = x40 && x13 = x39 && x12 = x38 && x10 = x36 && x9 = x35 && x6 = x32 && x5 = x31 && x4 = x30 && x3 = x29 && x2 = x28 && x1 = x27 && x = x26 && x34 = 1 + x8 && x33 = x33 && 0 <= -1 - x8 + x12 && x37 = 1 + x11 && 0 <= x11 (2) l2(x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77) -> l0(x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95, x96, x97, x98, x99, x100, x101, x102, x103) :|: x77 = x103 && x76 = x102 && x75 = x101 && x74 = x100 && x73 = x99 && x72 = x98 && x71 = x97 && x70 = x96 && x69 = x95 && x68 = x94 && x67 = x93 && x66 = x92 && x65 = x91 && x64 = x90 && x63 = x89 && x62 = x88 && x61 = x87 && x60 = x86 && x59 = x85 && x58 = x84 && x57 = x83 && x56 = x82 && x55 = x81 && x54 = x80 && x53 = x79 && x52 = x78 Arcs: (1) -> (2) (2) -> (1) This digraph is fully evaluated! ---------------------------------------- (6) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (7) Obligation: Rules: l0(x26:0, x1:0, x28:0, x29:0, x30:0, x31:0, x32:0, x7:0, x8:0, x35:0, x10:0, x11:0, x12:0, x13:0, x14:0, x15:0, x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x100:0, x101:0, x102:0, x103:0) -> l0(x26:0, x1:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0, 1 + x8:0, x35:0, x10:0, 1 + x11:0, x12:0, x13:0, x14:0, x15:0, x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x100:0, x101:0, x102:0, x103:0) :|: x11:0 > -1 && 0 <= -1 - x8:0 + x12:0 ---------------------------------------- (8) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: l0(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) -> l0(x9, x12, x13) ---------------------------------------- (9) Obligation: Rules: l0(x8:0, x11:0, x12:0) -> l0(1 + x8:0, 1 + x11:0, x12:0) :|: x11:0 > -1 && 0 <= -1 - x8:0 + x12:0 ---------------------------------------- (10) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l0(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (11) Obligation: Rules: l0(x8:0, x11:0, x12:0) -> l0(c, c1, x12:0) :|: c1 = 1 + x11:0 && c = 1 + x8:0 && (x11:0 > -1 && 0 <= -1 - x8:0 + x12:0) ---------------------------------------- (12) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [l0(x, x1, x2)] = -x + x2 The following rules are decreasing: l0(x8:0, x11:0, x12:0) -> l0(c, c1, x12:0) :|: c1 = 1 + x11:0 && c = 1 + x8:0 && (x11:0 > -1 && 0 <= -1 - x8:0 + x12:0) The following rules are bounded: l0(x8:0, x11:0, x12:0) -> l0(c, c1, x12:0) :|: c1 = 1 + x11:0 && c = 1 + x8:0 && (x11:0 > -1 && 0 <= -1 - x8:0 + x12:0) ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Termination digraph: Nodes: (1) l1(x159, x160, x161, x162, x163, x164, x165, x166, x167, x168, x169, x170, x171, x172, x173, x174, x175, x176, x177, x178, x179, x180, x181, x182, x183, x184) -> l4(x185, x186, x187, x188, x189, x190, x191, x192, x193, x194, x195, x196, x197, x198, x199, x200, x201, x202, x203, x204, x205, x206, x207, x208, x209, x210) :|: 0 <= x163 && 0 <= x169 && x194 = x169 && x211 = x211 && x212 = x212 && 0 <= x211 - x212 && x199 = x199 && x200 = x200 && x176 <= 0 && 0 <= x176 && x203 = x180 && x159 = x185 && x160 = x186 && x161 = x187 && x162 = x188 && x163 = x189 && x164 = x190 && x165 = x191 && x166 = x192 && x167 = x193 && x169 = x195 && x170 = x196 && x171 = x197 && x172 = x198 && x175 = x201 && x176 = x202 && x178 = x204 && x179 = x205 && x180 = x206 && x181 = x207 && x182 = x208 && x183 = x209 && x184 = x210 (2) l4(x320, x321, x322, x323, x324, x325, x326, x327, x328, x329, x330, x331, x332, x333, x334, x335, x336, x337, x338, x339, x340, x341, x342, x343, x344, x345) -> l1(x346, x347, x348, x349, x350, x351, x352, x353, x354, x355, x356, x357, x358, x359, x360, x361, x362, x363, x364, x365, x366, x367, x368, x369, x370, x371) :|: 0 <= x324 && 0 <= x329 && x356 = 1 + x329 && x350 = -1 + x324 && x367 = x325 && x372 = x344 && x351 = x372 && x362 = x362 && x352 = x338 && x363 = 0 && x320 = x346 && x321 = x347 && x322 = x348 && x323 = x349 && x327 = x353 && x328 = x354 && x329 = x355 && x331 = x357 && x332 = x358 && x333 = x359 && x334 = x360 && x335 = x361 && x338 = x364 && x339 = x365 && x340 = x366 && x342 = x368 && x343 = x369 && x344 = x370 && x345 = x371 Arcs: (1) -> (2) (2) -> (1) This digraph is fully evaluated! ---------------------------------------- (15) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (16) Obligation: Rules: l1(x159:0, x160:0, x161:0, x162:0, x163:0, x164:0, x165:0, x166:0, x167:0, x168:0, x169:0, x170:0, x171:0, x172:0, x173:0, x174:0, x175:0, x176:0, x177:0, x178:0, x179:0, x180:0, x181:0, x182:0, x183:0, x184:0) -> l1(x159:0, x160:0, x161:0, x162:0, -1 + x163:0, x183:0, x180:0, x166:0, x167:0, x169:0, 1 + x169:0, x170:0, x171:0, x172:0, x199:0, x200:0, x362:0, 0, x180:0, x178:0, x179:0, x164:0, x181:0, x182:0, x183:0, x184:0) :|: x176:0 < 1 && x176:0 > -1 && x211:0 - x212:0 >= 0 && x169:0 > -1 && x163:0 > -1 ---------------------------------------- (17) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: l1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) -> l1(x5, x11, x18) ---------------------------------------- (18) Obligation: Rules: l1(x163:0, x169:0, x176:0) -> l1(-1 + x163:0, 1 + x169:0, 0) :|: x176:0 < 1 && x176:0 > -1 && x211:0 - x212:0 >= 0 && x169:0 > -1 && x163:0 > -1 ---------------------------------------- (19) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l1(INTEGER, INTEGER, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (20) Obligation: Rules: l1(x163:0, x169:0, x176:0) -> l1(c, c1, c2) :|: c2 = 0 && (c1 = 1 + x169:0 && c = -1 + x163:0) && (x176:0 < 1 && x176:0 > -1 && x211:0 - x212:0 >= 0 && x169:0 > -1 && x163:0 > -1) ---------------------------------------- (21) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [l1(x, x1, x2)] = x + c2*x2 The following rules are decreasing: l1(x163:0, x169:0, x176:0) -> l1(c, c1, c2) :|: c2 = 0 && (c1 = 1 + x169:0 && c = -1 + x163:0) && (x176:0 < 1 && x176:0 > -1 && x211:0 - x212:0 >= 0 && x169:0 > -1 && x163:0 > -1) The following rules are bounded: l1(x163:0, x169:0, x176:0) -> l1(c, c1, c2) :|: c2 = 0 && (c1 = 1 + x169:0 && c = -1 + x163:0) && (x176:0 < 1 && x176:0 > -1 && x211:0 - x212:0 >= 0 && x169:0 > -1 && x163:0 > -1) ---------------------------------------- (22) YES