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