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, 28.9 s] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 0 ms] (6) IRSwT (7) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTChainingProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 91 ms] (12) AND (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 13 ms] (17) IntTRS (18) RankingReductionPairProof [EQUIVALENT, 0 ms] (19) YES (20) IRSwT (21) IntTRSCompressionProof [EQUIVALENT, 0 ms] (22) IRSwT (23) TempFilterProof [SOUND, 14 ms] (24) IntTRS (25) RankingReductionPairProof [EQUIVALENT, 0 ms] (26) YES ---------------------------------------- (0) Obligation: Rules: l0(oldX0HAT0, oldX1HAT0, oldX2HAT0, oldX3HAT0, oldX4HAT0, x0HAT0, x1HAT0) -> l1(oldX0HATpost, oldX1HATpost, oldX2HATpost, oldX3HATpost, oldX4HATpost, x0HATpost, x1HATpost) :|: oldX4HAT0 = oldX4HATpost && x1HATpost = oldX3HATpost && x0HATpost = oldX2HATpost && oldX3HATpost = oldX3HATpost && oldX2HATpost = oldX2HATpost && oldX1HATpost = x1HAT0 && oldX0HATpost = x0HAT0 l0(x, x1, x2, x3, x4, x5, x6) -> l2(x7, x8, x9, x10, x11, x12, x13) :|: x4 = x11 && x3 = x10 && x2 = x9 && x13 = -1 + x8 && x12 = x7 && x8 = x6 && x7 = x5 l3(x14, x15, x16, x17, x18, x19, x20) -> l4(x21, x22, x23, x24, x25, x26, x27) :|: x18 = x25 && x17 = x24 && x27 = x22 && x26 = x21 && 2 <= x23 && x23 = x23 && x22 = x20 && x21 = x19 l3(x28, x29, x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39, x40, x41) :|: x32 = x39 && x31 = x38 && x41 = x36 && x40 = x35 && 1 + x37 <= 1 && x37 = x37 && x36 = x34 && x35 = x33 l3(x42, x43, x44, x45, x46, x47, x48) -> l0(x49, x50, x51, x52, x53, x54, x55) :|: x46 = x53 && x45 = x52 && x55 = x50 && x54 = x49 && 1 <= x51 && x51 <= 1 && x51 = x51 && x50 = x48 && x49 = x47 l5(x56, x57, x58, x59, x60, x61, x62) -> l1(x63, x64, x65, x66, x67, x68, x69) :|: x60 = x67 && x69 = x66 && x68 = x65 && x66 = x66 && x65 = x65 && x64 = x62 && x63 = x61 l6(x70, x71, x72, x73, x74, x75, x76) -> l3(x77, x78, x79, x80, x81, x82, x83) :|: x74 = x81 && x73 = x80 && x72 = x79 && x83 = x78 && x82 = x77 && 3 <= x77 && x78 = x76 && x77 = x75 l6(x84, x85, x86, x87, x88, x89, x90) -> l3(x91, x92, x93, x94, x95, x96, x97) :|: x88 = x95 && x87 = x94 && x86 = x93 && x97 = x92 && x96 = x91 && 1 + x91 <= 2 && x92 = x90 && x91 = x89 l6(x98, x99, x100, x101, x102, x103, x104) -> l5(x105, x106, x107, x108, x109, x110, x111) :|: x102 = x109 && x101 = x108 && x100 = x107 && x111 = x106 && x110 = x105 && 2 <= x105 && x105 <= 2 && x106 = x104 && x105 = x103 l7(x112, x113, x114, x115, x116, x117, x118) -> l6(x119, x120, x121, x122, x123, x124, x125) :|: x116 = x123 && x115 = x122 && x114 = x121 && x125 = x120 && x124 = x119 && 2 <= x120 && x120 = x118 && x119 = x117 l7(x126, x127, x128, x129, x130, x131, x132) -> l6(x133, x134, x135, x136, x137, x138, x139) :|: x130 = x137 && x129 = x136 && x128 = x135 && x139 = x134 && x138 = x133 && 1 + x134 <= 1 && x134 = x132 && x133 = x131 l7(x140, x141, x142, x143, x144, x145, x146) -> l8(x147, x148, x149, x150, x151, x152, x153) :|: x144 = x151 && x143 = x150 && x142 = x149 && x153 = x148 && x152 = x147 && 1 <= x148 && x148 <= 1 && x148 = x146 && x147 = x145 l8(x154, x155, x156, x157, x158, x159, x160) -> l1(x161, x162, x163, x164, x165, x166, x167) :|: x158 = x165 && x167 = x164 && x166 = x163 && x164 = x164 && x163 = x163 && x162 = x160 && x161 = x159 l9(x168, x169, x170, x171, x172, x173, x174) -> l7(x175, x176, x177, x178, x179, x180, x181) :|: x172 = x179 && x171 = x178 && x170 = x177 && x181 = x176 && x180 = x175 && 1 <= x176 && x176 = x174 && x175 = x173 l9(x182, x183, x184, x185, x186, x187, x188) -> l8(x189, x190, x191, x192, x193, x194, x195) :|: x186 = x193 && x185 = x192 && x184 = x191 && x195 = x190 && x194 = x189 && x190 <= 0 && x190 = x188 && x189 = x187 l4(x196, x197, x198, x199, x200, x201, x202) -> l1(x203, x204, x205, x206, x207, x208, x209) :|: x209 = x206 && x208 = x205 && 2 <= x204 - 2 * x207 && x207 = x207 && x206 = x206 && x205 = x205 && x204 = x202 && x203 = x201 l4(x210, x211, x212, x213, x214, x215, x216) -> l1(x217, x218, x219, x220, x221, x222, x223) :|: x223 = x220 && x222 = x219 && 1 + x218 - 2 * x221 <= 0 && x221 = x221 && x220 = x220 && x219 = x219 && x218 = x216 && x217 = x215 l4(x224, x225, x226, x227, x228, x229, x230) -> l1(x231, x232, x233, x234, x235, x236, x237) :|: x237 = x234 && x236 = x233 && 1 + x232 - 2 * x235 <= 2 && 0 <= x232 - 2 * x235 && x235 = x235 && x234 = x234 && x233 = x233 && x232 = x230 && x231 = x229 l4(x238, x239, x240, x241, x242, x243, x244) -> l2(x245, x246, x247, x248, x249, x250, x251) :|: x242 = x249 && x241 = x248 && x251 = x247 && x250 = x245 && 1 + x246 - 2 * x247 <= 2 && 0 <= x246 - 2 * x247 && x247 = x247 && x246 = x244 && x245 = x243 l2(x252, x253, x254, x255, x256, x257, x258) -> l9(x259, x260, x261, x262, x263, x264, x265) :|: x256 = x263 && x255 = x262 && x254 = x261 && x265 = x260 && x264 = x259 && x260 = x258 && x259 = x257 l10(x266, x267, x268, x269, x270, x271, x272) -> l0(x273, x274, x275, x276, x277, x278, x279) :|: x272 = x279 && x271 = x278 && x270 = x277 && x269 = x276 && x268 = x275 && x267 = x274 && x266 = x273 l10(x280, x281, x282, x283, x284, x285, x286) -> l3(x287, x288, x289, x290, x291, x292, x293) :|: x286 = x293 && x285 = x292 && x284 = x291 && x283 = x290 && x282 = x289 && x281 = x288 && x280 = x287 l10(x294, x295, x296, x297, x298, x299, x300) -> l5(x301, x302, x303, x304, x305, x306, x307) :|: x300 = x307 && x299 = x306 && x298 = x305 && x297 = x304 && x296 = x303 && x295 = x302 && x294 = x301 l10(x308, x309, x310, x311, x312, x313, x314) -> l1(x315, x316, x317, x318, x319, x320, x321) :|: x314 = x321 && x313 = x320 && x312 = x319 && x311 = x318 && x310 = x317 && x309 = x316 && x308 = x315 l10(x322, x323, x324, x325, x326, x327, x328) -> l6(x329, x330, x331, x332, x333, x334, x335) :|: x328 = x335 && x327 = x334 && x326 = x333 && x325 = x332 && x324 = x331 && x323 = x330 && x322 = x329 l10(x336, x337, x338, x339, x340, x341, x342) -> l7(x343, x344, x345, x346, x347, x348, x349) :|: x342 = x349 && x341 = x348 && x340 = x347 && x339 = x346 && x338 = x345 && x337 = x344 && x336 = x343 l10(x350, x351, x352, x353, x354, x355, x356) -> l8(x357, x358, x359, x360, x361, x362, x363) :|: x356 = x363 && x355 = x362 && x354 = x361 && x353 = x360 && x352 = x359 && x351 = x358 && x350 = x357 l10(x364, x365, x366, x367, x368, x369, x370) -> l9(x371, x372, x373, x374, x375, x376, x377) :|: x370 = x377 && x369 = x376 && x368 = x375 && x367 = x374 && x366 = x373 && x365 = x372 && x364 = x371 l10(x378, x379, x380, x381, x382, x383, x384) -> l4(x385, x386, x387, x388, x389, x390, x391) :|: x384 = x391 && x383 = x390 && x382 = x389 && x381 = x388 && x380 = x387 && x379 = x386 && x378 = x385 l10(x392, x393, x394, x395, x396, x397, x398) -> l2(x399, x400, x401, x402, x403, x404, x405) :|: x398 = x405 && x397 = x404 && x396 = x403 && x395 = x402 && x394 = x401 && x393 = x400 && x392 = x399 l11(x406, x407, x408, x409, x410, x411, x412) -> l10(x413, x414, x415, x416, x417, x418, x419) :|: x412 = x419 && x411 = x418 && x410 = x417 && x409 = x416 && x408 = x415 && x407 = x414 && x406 = x413 Start term: l11(oldX0HAT0, oldX1HAT0, oldX2HAT0, oldX3HAT0, oldX4HAT0, x0HAT0, x1HAT0) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: l0(oldX0HAT0, oldX1HAT0, oldX2HAT0, oldX3HAT0, oldX4HAT0, x0HAT0, x1HAT0) -> l1(oldX0HATpost, oldX1HATpost, oldX2HATpost, oldX3HATpost, oldX4HATpost, x0HATpost, x1HATpost) :|: oldX4HAT0 = oldX4HATpost && x1HATpost = oldX3HATpost && x0HATpost = oldX2HATpost && oldX3HATpost = oldX3HATpost && oldX2HATpost = oldX2HATpost && oldX1HATpost = x1HAT0 && oldX0HATpost = x0HAT0 l0(x, x1, x2, x3, x4, x5, x6) -> l2(x7, x8, x9, x10, x11, x12, x13) :|: x4 = x11 && x3 = x10 && x2 = x9 && x13 = -1 + x8 && x12 = x7 && x8 = x6 && x7 = x5 l3(x14, x15, x16, x17, x18, x19, x20) -> l4(x21, x22, x23, x24, x25, x26, x27) :|: x18 = x25 && x17 = x24 && x27 = x22 && x26 = x21 && 2 <= x23 && x23 = x23 && x22 = x20 && x21 = x19 l3(x28, x29, x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39, x40, x41) :|: x32 = x39 && x31 = x38 && x41 = x36 && x40 = x35 && 1 + x37 <= 1 && x37 = x37 && x36 = x34 && x35 = x33 l3(x42, x43, x44, x45, x46, x47, x48) -> l0(x49, x50, x51, x52, x53, x54, x55) :|: x46 = x53 && x45 = x52 && x55 = x50 && x54 = x49 && 1 <= x51 && x51 <= 1 && x51 = x51 && x50 = x48 && x49 = x47 l5(x56, x57, x58, x59, x60, x61, x62) -> l1(x63, x64, x65, x66, x67, x68, x69) :|: x60 = x67 && x69 = x66 && x68 = x65 && x66 = x66 && x65 = x65 && x64 = x62 && x63 = x61 l6(x70, x71, x72, x73, x74, x75, x76) -> l3(x77, x78, x79, x80, x81, x82, x83) :|: x74 = x81 && x73 = x80 && x72 = x79 && x83 = x78 && x82 = x77 && 3 <= x77 && x78 = x76 && x77 = x75 l6(x84, x85, x86, x87, x88, x89, x90) -> l3(x91, x92, x93, x94, x95, x96, x97) :|: x88 = x95 && x87 = x94 && x86 = x93 && x97 = x92 && x96 = x91 && 1 + x91 <= 2 && x92 = x90 && x91 = x89 l6(x98, x99, x100, x101, x102, x103, x104) -> l5(x105, x106, x107, x108, x109, x110, x111) :|: x102 = x109 && x101 = x108 && x100 = x107 && x111 = x106 && x110 = x105 && 2 <= x105 && x105 <= 2 && x106 = x104 && x105 = x103 l7(x112, x113, x114, x115, x116, x117, x118) -> l6(x119, x120, x121, x122, x123, x124, x125) :|: x116 = x123 && x115 = x122 && x114 = x121 && x125 = x120 && x124 = x119 && 2 <= x120 && x120 = x118 && x119 = x117 l7(x126, x127, x128, x129, x130, x131, x132) -> l6(x133, x134, x135, x136, x137, x138, x139) :|: x130 = x137 && x129 = x136 && x128 = x135 && x139 = x134 && x138 = x133 && 1 + x134 <= 1 && x134 = x132 && x133 = x131 l7(x140, x141, x142, x143, x144, x145, x146) -> l8(x147, x148, x149, x150, x151, x152, x153) :|: x144 = x151 && x143 = x150 && x142 = x149 && x153 = x148 && x152 = x147 && 1 <= x148 && x148 <= 1 && x148 = x146 && x147 = x145 l8(x154, x155, x156, x157, x158, x159, x160) -> l1(x161, x162, x163, x164, x165, x166, x167) :|: x158 = x165 && x167 = x164 && x166 = x163 && x164 = x164 && x163 = x163 && x162 = x160 && x161 = x159 l9(x168, x169, x170, x171, x172, x173, x174) -> l7(x175, x176, x177, x178, x179, x180, x181) :|: x172 = x179 && x171 = x178 && x170 = x177 && x181 = x176 && x180 = x175 && 1 <= x176 && x176 = x174 && x175 = x173 l9(x182, x183, x184, x185, x186, x187, x188) -> l8(x189, x190, x191, x192, x193, x194, x195) :|: x186 = x193 && x185 = x192 && x184 = x191 && x195 = x190 && x194 = x189 && x190 <= 0 && x190 = x188 && x189 = x187 l4(x196, x197, x198, x199, x200, x201, x202) -> l1(x203, x204, x205, x206, x207, x208, x209) :|: x209 = x206 && x208 = x205 && 2 <= x204 - 2 * x207 && x207 = x207 && x206 = x206 && x205 = x205 && x204 = x202 && x203 = x201 l4(x210, x211, x212, x213, x214, x215, x216) -> l1(x217, x218, x219, x220, x221, x222, x223) :|: x223 = x220 && x222 = x219 && 1 + x218 - 2 * x221 <= 0 && x221 = x221 && x220 = x220 && x219 = x219 && x218 = x216 && x217 = x215 l4(x224, x225, x226, x227, x228, x229, x230) -> l1(x231, x232, x233, x234, x235, x236, x237) :|: x237 = x234 && x236 = x233 && 1 + x232 - 2 * x235 <= 2 && 0 <= x232 - 2 * x235 && x235 = x235 && x234 = x234 && x233 = x233 && x232 = x230 && x231 = x229 l4(x238, x239, x240, x241, x242, x243, x244) -> l2(x245, x246, x247, x248, x249, x250, x251) :|: x242 = x249 && x241 = x248 && x251 = x247 && x250 = x245 && 1 + x246 - 2 * x247 <= 2 && 0 <= x246 - 2 * x247 && x247 = x247 && x246 = x244 && x245 = x243 l2(x252, x253, x254, x255, x256, x257, x258) -> l9(x259, x260, x261, x262, x263, x264, x265) :|: x256 = x263 && x255 = x262 && x254 = x261 && x265 = x260 && x264 = x259 && x260 = x258 && x259 = x257 l10(x266, x267, x268, x269, x270, x271, x272) -> l0(x273, x274, x275, x276, x277, x278, x279) :|: x272 = x279 && x271 = x278 && x270 = x277 && x269 = x276 && x268 = x275 && x267 = x274 && x266 = x273 l10(x280, x281, x282, x283, x284, x285, x286) -> l3(x287, x288, x289, x290, x291, x292, x293) :|: x286 = x293 && x285 = x292 && x284 = x291 && x283 = x290 && x282 = x289 && x281 = x288 && x280 = x287 l10(x294, x295, x296, x297, x298, x299, x300) -> l5(x301, x302, x303, x304, x305, x306, x307) :|: x300 = x307 && x299 = x306 && x298 = x305 && x297 = x304 && x296 = x303 && x295 = x302 && x294 = x301 l10(x308, x309, x310, x311, x312, x313, x314) -> l1(x315, x316, x317, x318, x319, x320, x321) :|: x314 = x321 && x313 = x320 && x312 = x319 && x311 = x318 && x310 = x317 && x309 = x316 && x308 = x315 l10(x322, x323, x324, x325, x326, x327, x328) -> l6(x329, x330, x331, x332, x333, x334, x335) :|: x328 = x335 && x327 = x334 && x326 = x333 && x325 = x332 && x324 = x331 && x323 = x330 && x322 = x329 l10(x336, x337, x338, x339, x340, x341, x342) -> l7(x343, x344, x345, x346, x347, x348, x349) :|: x342 = x349 && x341 = x348 && x340 = x347 && x339 = x346 && x338 = x345 && x337 = x344 && x336 = x343 l10(x350, x351, x352, x353, x354, x355, x356) -> l8(x357, x358, x359, x360, x361, x362, x363) :|: x356 = x363 && x355 = x362 && x354 = x361 && x353 = x360 && x352 = x359 && x351 = x358 && x350 = x357 l10(x364, x365, x366, x367, x368, x369, x370) -> l9(x371, x372, x373, x374, x375, x376, x377) :|: x370 = x377 && x369 = x376 && x368 = x375 && x367 = x374 && x366 = x373 && x365 = x372 && x364 = x371 l10(x378, x379, x380, x381, x382, x383, x384) -> l4(x385, x386, x387, x388, x389, x390, x391) :|: x384 = x391 && x383 = x390 && x382 = x389 && x381 = x388 && x380 = x387 && x379 = x386 && x378 = x385 l10(x392, x393, x394, x395, x396, x397, x398) -> l2(x399, x400, x401, x402, x403, x404, x405) :|: x398 = x405 && x397 = x404 && x396 = x403 && x395 = x402 && x394 = x401 && x393 = x400 && x392 = x399 l11(x406, x407, x408, x409, x410, x411, x412) -> l10(x413, x414, x415, x416, x417, x418, x419) :|: x412 = x419 && x411 = x418 && x410 = x417 && x409 = x416 && x408 = x415 && x407 = x414 && x406 = x413 Start term: l11(oldX0HAT0, oldX1HAT0, oldX2HAT0, oldX3HAT0, oldX4HAT0, x0HAT0, x1HAT0) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l0(oldX0HAT0, oldX1HAT0, oldX2HAT0, oldX3HAT0, oldX4HAT0, x0HAT0, x1HAT0) -> l1(oldX0HATpost, oldX1HATpost, oldX2HATpost, oldX3HATpost, oldX4HATpost, x0HATpost, x1HATpost) :|: oldX4HAT0 = oldX4HATpost && x1HATpost = oldX3HATpost && x0HATpost = oldX2HATpost && oldX3HATpost = oldX3HATpost && oldX2HATpost = oldX2HATpost && oldX1HATpost = x1HAT0 && oldX0HATpost = x0HAT0 (2) l0(x, x1, x2, x3, x4, x5, x6) -> l2(x7, x8, x9, x10, x11, x12, x13) :|: x4 = x11 && x3 = x10 && x2 = x9 && x13 = -1 + x8 && x12 = x7 && x8 = x6 && x7 = x5 (3) l3(x14, x15, x16, x17, x18, x19, x20) -> l4(x21, x22, x23, x24, x25, x26, x27) :|: x18 = x25 && x17 = x24 && x27 = x22 && x26 = x21 && 2 <= x23 && x23 = x23 && x22 = x20 && x21 = x19 (4) l3(x28, x29, x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39, x40, x41) :|: x32 = x39 && x31 = x38 && x41 = x36 && x40 = x35 && 1 + x37 <= 1 && x37 = x37 && x36 = x34 && x35 = x33 (5) l3(x42, x43, x44, x45, x46, x47, x48) -> l0(x49, x50, x51, x52, x53, x54, x55) :|: x46 = x53 && x45 = x52 && x55 = x50 && x54 = x49 && 1 <= x51 && x51 <= 1 && x51 = x51 && x50 = x48 && x49 = x47 (6) l5(x56, x57, x58, x59, x60, x61, x62) -> l1(x63, x64, x65, x66, x67, x68, x69) :|: x60 = x67 && x69 = x66 && x68 = x65 && x66 = x66 && x65 = x65 && x64 = x62 && x63 = x61 (7) l6(x70, x71, x72, x73, x74, x75, x76) -> l3(x77, x78, x79, x80, x81, x82, x83) :|: x74 = x81 && x73 = x80 && x72 = x79 && x83 = x78 && x82 = x77 && 3 <= x77 && x78 = x76 && x77 = x75 (8) l6(x84, x85, x86, x87, x88, x89, x90) -> l3(x91, x92, x93, x94, x95, x96, x97) :|: x88 = x95 && x87 = x94 && x86 = x93 && x97 = x92 && x96 = x91 && 1 + x91 <= 2 && x92 = x90 && x91 = x89 (9) l6(x98, x99, x100, x101, x102, x103, x104) -> l5(x105, x106, x107, x108, x109, x110, x111) :|: x102 = x109 && x101 = x108 && x100 = x107 && x111 = x106 && x110 = x105 && 2 <= x105 && x105 <= 2 && x106 = x104 && x105 = x103 (10) l7(x112, x113, x114, x115, x116, x117, x118) -> l6(x119, x120, x121, x122, x123, x124, x125) :|: x116 = x123 && x115 = x122 && x114 = x121 && x125 = x120 && x124 = x119 && 2 <= x120 && x120 = x118 && x119 = x117 (11) l7(x126, x127, x128, x129, x130, x131, x132) -> l6(x133, x134, x135, x136, x137, x138, x139) :|: x130 = x137 && x129 = x136 && x128 = x135 && x139 = x134 && x138 = x133 && 1 + x134 <= 1 && x134 = x132 && x133 = x131 (12) l7(x140, x141, x142, x143, x144, x145, x146) -> l8(x147, x148, x149, x150, x151, x152, x153) :|: x144 = x151 && x143 = x150 && x142 = x149 && x153 = x148 && x152 = x147 && 1 <= x148 && x148 <= 1 && x148 = x146 && x147 = x145 (13) l8(x154, x155, x156, x157, x158, x159, x160) -> l1(x161, x162, x163, x164, x165, x166, x167) :|: x158 = x165 && x167 = x164 && x166 = x163 && x164 = x164 && x163 = x163 && x162 = x160 && x161 = x159 (14) l9(x168, x169, x170, x171, x172, x173, x174) -> l7(x175, x176, x177, x178, x179, x180, x181) :|: x172 = x179 && x171 = x178 && x170 = x177 && x181 = x176 && x180 = x175 && 1 <= x176 && x176 = x174 && x175 = x173 (15) l9(x182, x183, x184, x185, x186, x187, x188) -> l8(x189, x190, x191, x192, x193, x194, x195) :|: x186 = x193 && x185 = x192 && x184 = x191 && x195 = x190 && x194 = x189 && x190 <= 0 && x190 = x188 && x189 = x187 (16) l4(x196, x197, x198, x199, x200, x201, x202) -> l1(x203, x204, x205, x206, x207, x208, x209) :|: x209 = x206 && x208 = x205 && 2 <= x204 - 2 * x207 && x207 = x207 && x206 = x206 && x205 = x205 && x204 = x202 && x203 = x201 (17) l4(x210, x211, x212, x213, x214, x215, x216) -> l1(x217, x218, x219, x220, x221, x222, x223) :|: x223 = x220 && x222 = x219 && 1 + x218 - 2 * x221 <= 0 && x221 = x221 && x220 = x220 && x219 = x219 && x218 = x216 && x217 = x215 (18) l4(x224, x225, x226, x227, x228, x229, x230) -> l1(x231, x232, x233, x234, x235, x236, x237) :|: x237 = x234 && x236 = x233 && 1 + x232 - 2 * x235 <= 2 && 0 <= x232 - 2 * x235 && x235 = x235 && x234 = x234 && x233 = x233 && x232 = x230 && x231 = x229 (19) l4(x238, x239, x240, x241, x242, x243, x244) -> l2(x245, x246, x247, x248, x249, x250, x251) :|: x242 = x249 && x241 = x248 && x251 = x247 && x250 = x245 && 1 + x246 - 2 * x247 <= 2 && 0 <= x246 - 2 * x247 && x247 = x247 && x246 = x244 && x245 = x243 (20) l2(x252, x253, x254, x255, x256, x257, x258) -> l9(x259, x260, x261, x262, x263, x264, x265) :|: x256 = x263 && x255 = x262 && x254 = x261 && x265 = x260 && x264 = x259 && x260 = x258 && x259 = x257 (21) l10(x266, x267, x268, x269, x270, x271, x272) -> l0(x273, x274, x275, x276, x277, x278, x279) :|: x272 = x279 && x271 = x278 && x270 = x277 && x269 = x276 && x268 = x275 && x267 = x274 && x266 = x273 (22) l10(x280, x281, x282, x283, x284, x285, x286) -> l3(x287, x288, x289, x290, x291, x292, x293) :|: x286 = x293 && x285 = x292 && x284 = x291 && x283 = x290 && x282 = x289 && x281 = x288 && x280 = x287 (23) l10(x294, x295, x296, x297, x298, x299, x300) -> l5(x301, x302, x303, x304, x305, x306, x307) :|: x300 = x307 && x299 = x306 && x298 = x305 && x297 = x304 && x296 = x303 && x295 = x302 && x294 = x301 (24) l10(x308, x309, x310, x311, x312, x313, x314) -> l1(x315, x316, x317, x318, x319, x320, x321) :|: x314 = x321 && x313 = x320 && x312 = x319 && x311 = x318 && x310 = x317 && x309 = x316 && x308 = x315 (25) l10(x322, x323, x324, x325, x326, x327, x328) -> l6(x329, x330, x331, x332, x333, x334, x335) :|: x328 = x335 && x327 = x334 && x326 = x333 && x325 = x332 && x324 = x331 && x323 = x330 && x322 = x329 (26) l10(x336, x337, x338, x339, x340, x341, x342) -> l7(x343, x344, x345, x346, x347, x348, x349) :|: x342 = x349 && x341 = x348 && x340 = x347 && x339 = x346 && x338 = x345 && x337 = x344 && x336 = x343 (27) l10(x350, x351, x352, x353, x354, x355, x356) -> l8(x357, x358, x359, x360, x361, x362, x363) :|: x356 = x363 && x355 = x362 && x354 = x361 && x353 = x360 && x352 = x359 && x351 = x358 && x350 = x357 (28) l10(x364, x365, x366, x367, x368, x369, x370) -> l9(x371, x372, x373, x374, x375, x376, x377) :|: x370 = x377 && x369 = x376 && x368 = x375 && x367 = x374 && x366 = x373 && x365 = x372 && x364 = x371 (29) l10(x378, x379, x380, x381, x382, x383, x384) -> l4(x385, x386, x387, x388, x389, x390, x391) :|: x384 = x391 && x383 = x390 && x382 = x389 && x381 = x388 && x380 = x387 && x379 = x386 && x378 = x385 (30) l10(x392, x393, x394, x395, x396, x397, x398) -> l2(x399, x400, x401, x402, x403, x404, x405) :|: x398 = x405 && x397 = x404 && x396 = x403 && x395 = x402 && x394 = x401 && x393 = x400 && x392 = x399 (31) l11(x406, x407, x408, x409, x410, x411, x412) -> l10(x413, x414, x415, x416, x417, x418, x419) :|: x412 = x419 && x411 = x418 && x410 = x417 && x409 = x416 && x408 = x415 && x407 = x414 && x406 = x413 Arcs: (2) -> (20) (3) -> (16), (17), (18), (19) (4) -> (16), (17), (18), (19) (5) -> (1), (2) (7) -> (3), (4), (5) (8) -> (3), (4), (5) (9) -> (6) (10) -> (7), (8), (9) (11) -> (7), (8), (9) (12) -> (13) (14) -> (10), (12) (15) -> (13) (19) -> (20) (20) -> (14), (15) (21) -> (1), (2) (22) -> (3), (4), (5) (23) -> (6) (25) -> (7), (8), (9) (26) -> (10), (11), (12) (27) -> (13) (28) -> (14), (15) (29) -> (16), (17), (18), (19) (30) -> (20) (31) -> (21), (22), (23), (24), (25), (26), (27), (28), (29), (30) This digraph is fully evaluated! ---------------------------------------- (4) Obligation: Termination digraph: Nodes: (1) l0(x, x1, x2, x3, x4, x5, x6) -> l2(x7, x8, x9, x10, x11, x12, x13) :|: x4 = x11 && x3 = x10 && x2 = x9 && x13 = -1 + x8 && x12 = x7 && x8 = x6 && x7 = x5 (2) l3(x42, x43, x44, x45, x46, x47, x48) -> l0(x49, x50, x51, x52, x53, x54, x55) :|: x46 = x53 && x45 = x52 && x55 = x50 && x54 = x49 && 1 <= x51 && x51 <= 1 && x51 = x51 && x50 = x48 && x49 = x47 (3) l6(x70, x71, x72, x73, x74, x75, x76) -> l3(x77, x78, x79, x80, x81, x82, x83) :|: x74 = x81 && x73 = x80 && x72 = x79 && x83 = x78 && x82 = x77 && 3 <= x77 && x78 = x76 && x77 = x75 (4) l7(x112, x113, x114, x115, x116, x117, x118) -> l6(x119, x120, x121, x122, x123, x124, x125) :|: x116 = x123 && x115 = x122 && x114 = x121 && x125 = x120 && x124 = x119 && 2 <= x120 && x120 = x118 && x119 = x117 (5) l9(x168, x169, x170, x171, x172, x173, x174) -> l7(x175, x176, x177, x178, x179, x180, x181) :|: x172 = x179 && x171 = x178 && x170 = x177 && x181 = x176 && x180 = x175 && 1 <= x176 && x176 = x174 && x175 = x173 (6) l2(x252, x253, x254, x255, x256, x257, x258) -> l9(x259, x260, x261, x262, x263, x264, x265) :|: x256 = x263 && x255 = x262 && x254 = x261 && x265 = x260 && x264 = x259 && x260 = x258 && x259 = x257 (7) l4(x238, x239, x240, x241, x242, x243, x244) -> l2(x245, x246, x247, x248, x249, x250, x251) :|: x242 = x249 && x241 = x248 && x251 = x247 && x250 = x245 && 1 + x246 - 2 * x247 <= 2 && 0 <= x246 - 2 * x247 && x247 = x247 && x246 = x244 && x245 = x243 (8) l3(x28, x29, x30, x31, x32, x33, x34) -> l4(x35, x36, x37, x38, x39, x40, x41) :|: x32 = x39 && x31 = x38 && x41 = x36 && x40 = x35 && 1 + x37 <= 1 && x37 = x37 && x36 = x34 && x35 = x33 (9) l3(x14, x15, x16, x17, x18, x19, x20) -> l4(x21, x22, x23, x24, x25, x26, x27) :|: x18 = x25 && x17 = x24 && x27 = x22 && x26 = x21 && 2 <= x23 && x23 = x23 && x22 = x20 && x21 = x19 (10) l6(x84, x85, x86, x87, x88, x89, x90) -> l3(x91, x92, x93, x94, x95, x96, x97) :|: x88 = x95 && x87 = x94 && x86 = x93 && x97 = x92 && x96 = x91 && 1 + x91 <= 2 && x92 = x90 && x91 = x89 Arcs: (1) -> (6) (2) -> (1) (3) -> (2), (8), (9) (4) -> (3), (10) (5) -> (4) (6) -> (5) (7) -> (6) (8) -> (7) (9) -> (7) (10) -> (2), (8), (9) This digraph is fully evaluated! ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: l9(x168:0, x169:0, x121:0, x122:0, x123:0, x119:0, x120:0) -> l3(x119:0, x120:0, x121:0, x122:0, x123:0, x119:0, x120:0) :|: x119:0 < 2 && x120:0 > 1 l9(x, x1, x2, x3, x4, x5, x6) -> l3(x5, x6, x2, x3, x4, x5, x6) :|: x5 > 2 && x6 > 1 l3(x28:0, x29:0, x30:0, x248:0, x249:0, x245:0, x246:0) -> l9(x245:0, x247:0, x247:0, x248:0, x249:0, x245:0, x247:0) :|: x246:0 - 2 * x247:0 >= 0 && 2 >= 1 + x246:0 - 2 * x247:0 && x37:0 < 1 l3(x42:0, x43:0, x44:0, x10:0, x11:0, x12:0, x48:0) -> l9(x12:0, -1 + x48:0, x261:0, x10:0, x11:0, x12:0, -1 + x48:0) :|: x261:0 < 2 && x261:0 > 0 l3(x7, x8, x9, x10, x11, x12, x13) -> l9(x12, x14, x14, x10, x11, x12, x14) :|: x13 - 2 * x14 >= 0 && 2 >= 1 + x13 - 2 * x14 && x15 > 1 ---------------------------------------- (7) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: l9(x1, x2, x3, x4, x5, x6, x7) -> l9(x6, x7) l3(x1, x2, x3, x4, x5, x6, x7) -> l3(x6, x7) ---------------------------------------- (8) Obligation: Rules: l9(x119:0, x120:0) -> l3(x119:0, x120:0) :|: x119:0 < 2 && x120:0 > 1 l9(x5, x6) -> l3(x5, x6) :|: x5 > 2 && x6 > 1 l3(x245:0, x246:0) -> l9(x245:0, x247:0) :|: x246:0 - 2 * x247:0 >= 0 && 2 >= 1 + x246:0 - 2 * x247:0 && x37:0 < 1 l3(x12:0, x48:0) -> l9(x12:0, -1 + x48:0) :|: x261:0 < 2 && x261:0 > 0 l3(x12, x13) -> l9(x12, x14) :|: x13 - 2 * x14 >= 0 && 2 >= 1 + x13 - 2 * x14 && x15 > 1 ---------------------------------------- (9) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (10) Obligation: Rules: l9(x5, x6) -> l3(x5, x6) :|: x5 > 2 && x6 > 1 l3(x245:0, x246:0) -> l9(x245:0, x247:0) :|: x246:0 - 2 * x247:0 >= 0 && 2 >= 1 + x246:0 - 2 * x247:0 && x37:0 < 1 l9(x10, x11) -> l9(x10, x18) :|: TRUE && x10 <= 1 && x11 >= 2 && x11 + -2 * x18 >= 0 && -1 * x11 + 2 * x18 >= -1 && x19 <= 0 l3(x12:0, x48:0) -> l9(x12:0, -1 + x48:0) :|: x261:0 < 2 && x261:0 > 0 l9(x20, x21) -> l9(x20, -1 + x21) :|: TRUE && x20 <= 1 && x21 >= 2 && x24 <= 1 && x24 >= 1 l3(x12, x13) -> l9(x12, x14) :|: x13 - 2 * x14 >= 0 && 2 >= 1 + x13 - 2 * x14 && x15 > 1 l9(x25, x26) -> l9(x25, x29) :|: TRUE && x25 <= 1 && x26 >= 2 && x26 + -2 * x29 >= 0 && -1 * x26 + 2 * x29 >= -1 && x30 >= 2 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l9(x5, x6) -> l3(x5, x6) :|: x5 > 2 && x6 > 1 (2) l3(x245:0, x246:0) -> l9(x245:0, x247:0) :|: x246:0 - 2 * x247:0 >= 0 && 2 >= 1 + x246:0 - 2 * x247:0 && x37:0 < 1 (3) l9(x10, x11) -> l9(x10, x18) :|: TRUE && x10 <= 1 && x11 >= 2 && x11 + -2 * x18 >= 0 && -1 * x11 + 2 * x18 >= -1 && x19 <= 0 (4) l3(x12:0, x48:0) -> l9(x12:0, -1 + x48:0) :|: x261:0 < 2 && x261:0 > 0 (5) l9(x20, x21) -> l9(x20, -1 + x21) :|: TRUE && x20 <= 1 && x21 >= 2 && x24 <= 1 && x24 >= 1 (6) l3(x12, x13) -> l9(x12, x14) :|: x13 - 2 * x14 >= 0 && 2 >= 1 + x13 - 2 * x14 && x15 > 1 (7) l9(x25, x26) -> l9(x25, x29) :|: TRUE && x25 <= 1 && x26 >= 2 && x26 + -2 * x29 >= 0 && -1 * x26 + 2 * x29 >= -1 && x30 >= 2 Arcs: (1) -> (2), (4), (6) (2) -> (1), (3), (5), (7) (3) -> (3), (5), (7) (4) -> (1), (3), (5), (7) (5) -> (3), (5), (7) (6) -> (1), (3), (5), (7) (7) -> (3), (5), (7) This digraph is fully evaluated! ---------------------------------------- (12) Complex Obligation (AND) ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) l9(x5, x6) -> l3(x5, x6) :|: x5 > 2 && x6 > 1 (2) l3(x12, x13) -> l9(x12, x14) :|: x13 - 2 * x14 >= 0 && 2 >= 1 + x13 - 2 * x14 && x15 > 1 (3) l3(x12:0, x48:0) -> l9(x12:0, -1 + x48:0) :|: x261:0 < 2 && x261:0 > 0 (4) l3(x245:0, x246:0) -> l9(x245:0, x247:0) :|: x246:0 - 2 * x247:0 >= 0 && 2 >= 1 + x246:0 - 2 * x247:0 && x37:0 < 1 Arcs: (1) -> (2), (3), (4) (2) -> (1) (3) -> (1) (4) -> (1) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: l9(x5:0, x6:0) -> l9(x5:0, x14:0) :|: x6:0 > 1 && x5:0 > 2 && x15:0 > 1 && 2 >= 1 + x6:0 - 2 * x14:0 && x6:0 - 2 * x14:0 >= 0 l9(x, x1) -> l9(x, -1 + x1) :|: x1 > 1 && x > 2 && x2 > 0 && x2 < 2 l9(x3, x4) -> l9(x3, x5) :|: x4 > 1 && x3 > 2 && x6 < 1 && 2 >= 1 + x4 - 2 * x5 && x4 - 2 * x5 >= 0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l9(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (17) Obligation: Rules: l9(x5:0, x6:0) -> l9(x5:0, x14:0) :|: x6:0 > 1 && x5:0 > 2 && x15:0 > 1 && 2 >= 1 + x6:0 - 2 * x14:0 && x6:0 - 2 * x14:0 >= 0 l9(x, x1) -> l9(x, c) :|: c = -1 + x1 && (x1 > 1 && x > 2 && x2 > 0 && x2 < 2) l9(x3, x4) -> l9(x3, x5) :|: x4 > 1 && x3 > 2 && x6 < 1 && 2 >= 1 + x4 - 2 * x5 && x4 - 2 * x5 >= 0 ---------------------------------------- (18) RankingReductionPairProof (EQUIVALENT) Interpretation: [ l9 ] = l9_2 The following rules are decreasing: l9(x5:0, x6:0) -> l9(x5:0, x14:0) :|: x6:0 > 1 && x5:0 > 2 && x15:0 > 1 && 2 >= 1 + x6:0 - 2 * x14:0 && x6:0 - 2 * x14:0 >= 0 l9(x, x1) -> l9(x, c) :|: c = -1 + x1 && (x1 > 1 && x > 2 && x2 > 0 && x2 < 2) l9(x3, x4) -> l9(x3, x5) :|: x4 > 1 && x3 > 2 && x6 < 1 && 2 >= 1 + x4 - 2 * x5 && x4 - 2 * x5 >= 0 The following rules are bounded: l9(x5:0, x6:0) -> l9(x5:0, x14:0) :|: x6:0 > 1 && x5:0 > 2 && x15:0 > 1 && 2 >= 1 + x6:0 - 2 * x14:0 && x6:0 - 2 * x14:0 >= 0 l9(x, x1) -> l9(x, c) :|: c = -1 + x1 && (x1 > 1 && x > 2 && x2 > 0 && x2 < 2) l9(x3, x4) -> l9(x3, x5) :|: x4 > 1 && x3 > 2 && x6 < 1 && 2 >= 1 + x4 - 2 * x5 && x4 - 2 * x5 >= 0 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Termination digraph: Nodes: (1) l9(x10, x11) -> l9(x10, x18) :|: TRUE && x10 <= 1 && x11 >= 2 && x11 + -2 * x18 >= 0 && -1 * x11 + 2 * x18 >= -1 && x19 <= 0 (2) l9(x20, x21) -> l9(x20, -1 + x21) :|: TRUE && x20 <= 1 && x21 >= 2 && x24 <= 1 && x24 >= 1 (3) l9(x25, x26) -> l9(x25, x29) :|: TRUE && x25 <= 1 && x26 >= 2 && x26 + -2 * x29 >= 0 && -1 * x26 + 2 * x29 >= -1 && x30 >= 2 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (21) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (22) Obligation: Rules: l9(x20:0, x21:0) -> l9(x20:0, -1 + x21:0) :|: x24:0 < 2 && x24:0 > 0 && x20:0 < 2 && x21:0 > 1 l9(x25:0, x26:0) -> l9(x25:0, x29:0) :|: -1 * x26:0 + 2 * x29:0 >= -1 && x30:0 > 1 && x26:0 + -2 * x29:0 >= 0 && x25:0 < 2 && x26:0 > 1 l9(x10:0, x11:0) -> l9(x10:0, x18:0) :|: -1 * x11:0 + 2 * x18:0 >= -1 && x19:0 < 1 && x11:0 + -2 * x18:0 >= 0 && x10:0 < 2 && x11:0 > 1 ---------------------------------------- (23) TempFilterProof (SOUND) Used the following sort dictionary for filtering: l9(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (24) Obligation: Rules: l9(x20:0, x21:0) -> l9(x20:0, c) :|: c = -1 + x21:0 && (x24:0 < 2 && x24:0 > 0 && x20:0 < 2 && x21:0 > 1) l9(x25:0, x26:0) -> l9(x25:0, x29:0) :|: -1 * x26:0 + 2 * x29:0 >= -1 && x30:0 > 1 && x26:0 + -2 * x29:0 >= 0 && x25:0 < 2 && x26:0 > 1 l9(x10:0, x11:0) -> l9(x10:0, x18:0) :|: -1 * x11:0 + 2 * x18:0 >= -1 && x19:0 < 1 && x11:0 + -2 * x18:0 >= 0 && x10:0 < 2 && x11:0 > 1 ---------------------------------------- (25) RankingReductionPairProof (EQUIVALENT) Interpretation: [ l9 ] = l9_2 The following rules are decreasing: l9(x20:0, x21:0) -> l9(x20:0, c) :|: c = -1 + x21:0 && (x24:0 < 2 && x24:0 > 0 && x20:0 < 2 && x21:0 > 1) l9(x25:0, x26:0) -> l9(x25:0, x29:0) :|: -1 * x26:0 + 2 * x29:0 >= -1 && x30:0 > 1 && x26:0 + -2 * x29:0 >= 0 && x25:0 < 2 && x26:0 > 1 l9(x10:0, x11:0) -> l9(x10:0, x18:0) :|: -1 * x11:0 + 2 * x18:0 >= -1 && x19:0 < 1 && x11:0 + -2 * x18:0 >= 0 && x10:0 < 2 && x11:0 > 1 The following rules are bounded: l9(x20:0, x21:0) -> l9(x20:0, c) :|: c = -1 + x21:0 && (x24:0 < 2 && x24:0 > 0 && x20:0 < 2 && x21:0 > 1) l9(x25:0, x26:0) -> l9(x25:0, x29:0) :|: -1 * x26:0 + 2 * x29:0 >= -1 && x30:0 > 1 && x26:0 + -2 * x29:0 >= 0 && x25:0 < 2 && x26:0 > 1 l9(x10:0, x11:0) -> l9(x10:0, x18:0) :|: -1 * x11:0 + 2 * x18:0 >= -1 && x19:0 < 1 && x11:0 + -2 * x18:0 >= 0 && x10:0 < 2 && x11:0 > 1 ---------------------------------------- (26) YES