NO proof of prog.inttrs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IRSwT could be disproven: (0) IRSwT (1) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (2) IRSwT (3) IRSwTTerminationDigraphProof [EQUIVALENT, 9468 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 10 ms] (7) IRSwT (8) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (9) IRSwT (10) IRSwTChainingProof [EQUIVALENT, 9 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 359 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 868 ms] (17) IRSwT (18) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (19) IRSwT (20) IntTRSCompressionProof [EQUIVALENT, 0 ms] (21) IRSwT (22) IRSwT (23) IntTRSCompressionProof [EQUIVALENT, 5 ms] (24) IRSwT (25) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (26) IRSwT (27) FilterProof [EQUIVALENT, 0 ms] (28) IntTRS (29) IntTRSCompressionProof [EQUIVALENT, 0 ms] (30) IntTRS (31) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (32) NO (33) IRSwT (34) IntTRSCompressionProof [EQUIVALENT, 16 ms] (35) IRSwT (36) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (37) IRSwT (38) TempFilterProof [SOUND, 46 ms] (39) IntTRS (40) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (41) IntTRS (42) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (43) YES (44) IRSwT (45) IntTRSCompressionProof [EQUIVALENT, 5 ms] (46) IRSwT (47) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (48) IRSwT (49) TempFilterProof [SOUND, 50 ms] (50) IntTRS (51) PolynomialOrderProcessor [EQUIVALENT, 5 ms] (52) IntTRS (53) RankingReductionPairProof [EQUIVALENT, 0 ms] (54) YES ---------------------------------------- (0) Obligation: Rules: f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f543_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && -1 <= arg1P - 1 && 0 <= arg2 - 1 f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1156_0_random_ArrayAccess(x6, x7, x9, x10, x11, x12) :|: 0 <= x1 - 1 && -1 <= x13 - 1 && 0 <= x - 1 && 1 <= x6 - 1 && x1 = x7 && 0 = x9 f814_0_createTree_Return(x14, x15, x16, x17, x18, x19) -> f1156_0_random_ArrayAccess(x20, x21, x22, x23, x24, x25) :|: x18 = x23 && 0 = x22 && 0 = x17 && x18 + 2 <= x15 && 1 <= x20 - 1 && 1 <= x15 - 1 && 0 <= x14 - 1 && x20 <= x15 f1_0_main_Load(x26, x28, x29, x30, x31, x32) -> f3334_0_main_LE(x33, x34, x35, x36, x37, x39) :|: 2 = x37 && x36 - 1 = x35 && -1 <= x34 - 1 && 0 <= x33 - 1 && 0 <= x26 - 1 && x34 + 1 <= x26 && x33 <= x26 && -1 <= x36 - 1 && 0 <= x28 - 1 f1156_0_random_ArrayAccess(x40, x41, x42, x43, x44, x45) -> f3334_0_main_LE(x46, x47, x48, x50, x51, x52) :|: 0 <= x53 - 1 && -1 <= x50 - 1 && x46 + 1 <= x40 && x47 <= x40 && 1 <= x40 - 1 && 0 <= x46 - 1 && 1 <= x47 - 1 && x43 + 2 <= x40 && 0 = x42 && x50 - 1 = x48 && x53 + 1 = x51 f3334_0_main_LE(x54, x55, x56, x57, x58, x59) -> f3430_0_main_InvokeMethod(x60, x61, x62, x63, x64, x65) :|: 0 <= x66 - 1 && 0 <= x57 - 1 && x60 <= x54 && x60 <= x55 && x63 <= x55 && 0 <= x54 - 1 && 0 <= x55 - 1 && 0 <= x60 - 1 && -1 <= x62 - 1 && 0 <= x63 - 1 && x65 + 1 <= x55 && x56 = x61 f3334_0_main_LE(x67, x68, x69, x70, x71, x72) -> f3430_0_main_InvokeMethod(x73, x74, x76, x77, x78, x79) :|: 0 <= x80 - 1 && 0 <= x70 - 1 && x73 <= x67 && x73 <= x68 && x77 <= x68 && 0 <= x67 - 1 && 0 <= x68 - 1 && 0 <= x73 - 1 && 1 <= x76 - 1 && 0 <= x77 - 1 && x79 + 1 <= x68 && x69 = x74 f3430_0_main_InvokeMethod(x81, x82, x84, x85, x86, x87) -> f3334_0_main_LE(x88, x89, x90, x92, x93, x94) :|: x88 <= x81 && 0 <= x95 - 1 && x88 <= x84 && x88 <= x85 && 0 <= x81 - 1 && 0 <= x84 - 1 && 0 <= x85 - 1 && 0 <= x88 - 1 && 0 <= x89 - 1 && x87 + 1 <= x85 && x82 - 1 = x90 && x82 = x92 f543_0_createTree_GT(x96, x97, x98, x99, x100, x101) -> f998_0_createTree_LE(x102, x103, x104, x105, x106, x107) :|: x98 + 1 = x105 && x97 = x104 && x96 = x102 && -1 <= x103 - 1 && 0 <= x96 - 1 && 0 <= x98 - 1 && -1 <= x97 - 1 f998_0_createTree_LE(x108, x109, x110, x111, x112, x113) -> f543_0_createTree_GT(x114, x115, x116, x117, x118, x119) :|: x111 = x116 && x110 = x115 && x108 - 1 = x114 && 1 <= x111 - 1 && x108 - 1 <= x108 - 1 && 0 <= x109 - 1 && 0 <= x108 - 1 f998_0_createTree_LE(x121, x122, x123, x124, x125, x126) -> f998_0_createTree_LE(x127, x128, x129, x130, x131, x132) :|: x124 = x130 && x123 = x129 && x122 - 1 = x128 && 1 = x127 && 1 = x121 && 1 <= x124 - 1 && 0 <= x122 - 1 f998_0_createTree_LE(x133, x134, x135, x136, x137, x138) -> f998_0_createTree_LE(x139, x140, x141, x142, x143, x144) :|: x135 = x141 && x134 - 1 = x140 && x133 = x139 && 1 <= x136 - 1 && x133 - 1 <= x133 - 1 && 0 <= x134 - 1 && 0 <= x133 - 1 f3334_0_main_LE(x145, x146, x147, x148, x149, x151) -> f2378_0_random_ArrayAccess(x152, x153, x154, x155, x156, x157) :|: 0 <= x158 - 1 && 0 <= x148 - 1 && x152 <= x146 && 0 <= x145 - 1 && 0 <= x146 - 1 && 0 <= x152 - 1 && x153 + 1 <= x146 f3430_0_main_InvokeMethod(x159, x160, x161, x162, x163, x164) -> f2378_0_random_ArrayAccess(x165, x166, x167, x168, x169, x170) :|: x165 <= x162 && 0 <= x171 - 1 && 0 <= x159 - 1 && -1 <= x161 - 1 && 0 <= x162 - 1 && 0 <= x165 - 1 && x164 + 1 <= x162 && x164 = x166 f2378_0_random_ArrayAccess(x172, x173, x174, x175, x176, x177) -> f3147_0_getRandom_LT(x178, x179, x180, x181, x182, x183) :|: -1 <= x184 - 1 && -1 <= x180 - 1 && x179 <= x172 && 0 <= x172 - 1 && 0 <= x179 - 1 && x173 + 1 <= x172 && x180 - 1 = x178 && x184 + 1 = x181 f3147_0_getRandom_LT(x185, x186, x187, x188, x189, x190) -> f3577_0_getRandom_LT(x191, x192, x193, x194, x195, x196) :|: x188 + 1 = x195 && x194 - 1 = x192 && x185 = x191 && 0 <= x193 - 1 && 2 <= x186 - 1 && x193 + 2 <= x186 && -1 <= x187 - 1 && -1 <= x188 - 1 && -1 <= x194 - 1 f3577_0_getRandom_LT(x197, x198, x199, x200, x201, x202) -> f3577_0_getRandom_LT(x203, x204, x205, x206, x207, x208) :|: x201 = x207 && x198 = x206 && x198 - 1 = x204 && x197 = x203 && 0 <= x205 - 1 && 2 <= x199 - 1 && -1 <= x200 - 1 && x205 + 2 <= x199 f3577_0_getRandom_LT(x209, x210, x211, x212, x213, x214) -> f3147_0_getRandom_LT(x215, x216, x217, x218, x219, x220) :|: x213 = x218 && x209 = x217 && x209 - 1 = x215 && -1 <= x216 - 1 && x212 <= -1 && 0 <= x211 - 1 f3577_0_getRandom_LT(x221, x222, x223, x224, x225, x226) -> f3147_0_getRandom_LT(x227, x228, x229, x230, x231, x232) :|: x225 = x230 && x221 = x229 && x221 - 1 = x227 && -1 <= x228 - 1 && -1 <= x224 - 1 && 1 <= x223 - 1 f3334_0_main_LE(x233, x234, x235, x236, x237, x238) -> f3446_0_visit_NE(x239, x240, x241, x242, x243, x244) :|: 0 <= x245 - 1 && x236 <= 0 && x239 <= x234 && 0 <= x233 - 1 && 0 <= x234 - 1 && 0 <= x239 - 1 && x242 + 2 <= x234 && x240 + 2 <= x234 && x240 = x241 f3446_0_visit_NE(x246, x247, x248, x249, x250, x251) -> f3530_0_visit_NULL(x252, x253, x254, x255, x256, x257) :|: x247 = x252 && x247 = x248 && x247 + 2 <= x246 && x249 + 2 <= x246 && -1 <= x253 - 1 && 0 <= x246 - 1 f3530_0_visit_NULL(x258, x259, x260, x261, x262, x263) -> f3446_0_visit_NE(x264, x265, x266, x267, x268, x269) :|: x258 = x265 && 0 <= x264 - 1 && 0 <= x259 - 1 f3530_0_visit_NULL(x270, x271, x272, x273, x274, x275) -> f3530_0_visit_NULL(x276, x277, x278, x279, x280, x281) :|: x272 = x278 && x270 = x276 && -1 <= x277 - 1 && 0 <= x271 - 1 && x277 + 1 <= x271 __init(x282, x283, x284, x285, x286, x287) -> f1_0_main_Load(x288, x289, x290, x291, x292, x293) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5, arg6) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f543_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && -1 <= arg1P - 1 && 0 <= arg2 - 1 f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1156_0_random_ArrayAccess(x6, x7, x9, x10, x11, x12) :|: 0 <= x1 - 1 && -1 <= x13 - 1 && 0 <= x - 1 && 1 <= x6 - 1 && x1 = x7 && 0 = x9 f814_0_createTree_Return(x14, x15, x16, x17, x18, x19) -> f1156_0_random_ArrayAccess(x20, x21, x22, x23, x24, x25) :|: x18 = x23 && 0 = x22 && 0 = x17 && x18 + 2 <= x15 && 1 <= x20 - 1 && 1 <= x15 - 1 && 0 <= x14 - 1 && x20 <= x15 f1_0_main_Load(x26, x28, x29, x30, x31, x32) -> f3334_0_main_LE(x33, x34, x35, x36, x37, x39) :|: 2 = x37 && x36 - 1 = x35 && -1 <= x34 - 1 && 0 <= x33 - 1 && 0 <= x26 - 1 && x34 + 1 <= x26 && x33 <= x26 && -1 <= x36 - 1 && 0 <= x28 - 1 f1156_0_random_ArrayAccess(x40, x41, x42, x43, x44, x45) -> f3334_0_main_LE(x46, x47, x48, x50, x51, x52) :|: 0 <= x53 - 1 && -1 <= x50 - 1 && x46 + 1 <= x40 && x47 <= x40 && 1 <= x40 - 1 && 0 <= x46 - 1 && 1 <= x47 - 1 && x43 + 2 <= x40 && 0 = x42 && x50 - 1 = x48 && x53 + 1 = x51 f3334_0_main_LE(x54, x55, x56, x57, x58, x59) -> f3430_0_main_InvokeMethod(x60, x61, x62, x63, x64, x65) :|: 0 <= x66 - 1 && 0 <= x57 - 1 && x60 <= x54 && x60 <= x55 && x63 <= x55 && 0 <= x54 - 1 && 0 <= x55 - 1 && 0 <= x60 - 1 && -1 <= x62 - 1 && 0 <= x63 - 1 && x65 + 1 <= x55 && x56 = x61 f3334_0_main_LE(x67, x68, x69, x70, x71, x72) -> f3430_0_main_InvokeMethod(x73, x74, x76, x77, x78, x79) :|: 0 <= x80 - 1 && 0 <= x70 - 1 && x73 <= x67 && x73 <= x68 && x77 <= x68 && 0 <= x67 - 1 && 0 <= x68 - 1 && 0 <= x73 - 1 && 1 <= x76 - 1 && 0 <= x77 - 1 && x79 + 1 <= x68 && x69 = x74 f3430_0_main_InvokeMethod(x81, x82, x84, x85, x86, x87) -> f3334_0_main_LE(x88, x89, x90, x92, x93, x94) :|: x88 <= x81 && 0 <= x95 - 1 && x88 <= x84 && x88 <= x85 && 0 <= x81 - 1 && 0 <= x84 - 1 && 0 <= x85 - 1 && 0 <= x88 - 1 && 0 <= x89 - 1 && x87 + 1 <= x85 && x82 - 1 = x90 && x82 = x92 f543_0_createTree_GT(x96, x97, x98, x99, x100, x101) -> f998_0_createTree_LE(x102, x103, x104, x105, x106, x107) :|: x98 + 1 = x105 && x97 = x104 && x96 = x102 && -1 <= x103 - 1 && 0 <= x96 - 1 && 0 <= x98 - 1 && -1 <= x97 - 1 f998_0_createTree_LE(x108, x109, x110, x111, x112, x113) -> f543_0_createTree_GT(x114, x115, x116, x117, x118, x119) :|: x111 = x116 && x110 = x115 && x108 - 1 = x114 && 1 <= x111 - 1 && x108 - 1 <= x108 - 1 && 0 <= x109 - 1 && 0 <= x108 - 1 f998_0_createTree_LE(x121, x122, x123, x124, x125, x126) -> f998_0_createTree_LE(x127, x128, x129, x130, x131, x132) :|: x124 = x130 && x123 = x129 && x122 - 1 = x128 && 1 = x127 && 1 = x121 && 1 <= x124 - 1 && 0 <= x122 - 1 f998_0_createTree_LE(x133, x134, x135, x136, x137, x138) -> f998_0_createTree_LE(x139, x140, x141, x142, x143, x144) :|: x135 = x141 && x134 - 1 = x140 && x133 = x139 && 1 <= x136 - 1 && x133 - 1 <= x133 - 1 && 0 <= x134 - 1 && 0 <= x133 - 1 f3334_0_main_LE(x145, x146, x147, x148, x149, x151) -> f2378_0_random_ArrayAccess(x152, x153, x154, x155, x156, x157) :|: 0 <= x158 - 1 && 0 <= x148 - 1 && x152 <= x146 && 0 <= x145 - 1 && 0 <= x146 - 1 && 0 <= x152 - 1 && x153 + 1 <= x146 f3430_0_main_InvokeMethod(x159, x160, x161, x162, x163, x164) -> f2378_0_random_ArrayAccess(x165, x166, x167, x168, x169, x170) :|: x165 <= x162 && 0 <= x171 - 1 && 0 <= x159 - 1 && -1 <= x161 - 1 && 0 <= x162 - 1 && 0 <= x165 - 1 && x164 + 1 <= x162 && x164 = x166 f2378_0_random_ArrayAccess(x172, x173, x174, x175, x176, x177) -> f3147_0_getRandom_LT(x178, x179, x180, x181, x182, x183) :|: -1 <= x184 - 1 && -1 <= x180 - 1 && x179 <= x172 && 0 <= x172 - 1 && 0 <= x179 - 1 && x173 + 1 <= x172 && x180 - 1 = x178 && x184 + 1 = x181 f3147_0_getRandom_LT(x185, x186, x187, x188, x189, x190) -> f3577_0_getRandom_LT(x191, x192, x193, x194, x195, x196) :|: x188 + 1 = x195 && x194 - 1 = x192 && x185 = x191 && 0 <= x193 - 1 && 2 <= x186 - 1 && x193 + 2 <= x186 && -1 <= x187 - 1 && -1 <= x188 - 1 && -1 <= x194 - 1 f3577_0_getRandom_LT(x197, x198, x199, x200, x201, x202) -> f3577_0_getRandom_LT(x203, x204, x205, x206, x207, x208) :|: x201 = x207 && x198 = x206 && x198 - 1 = x204 && x197 = x203 && 0 <= x205 - 1 && 2 <= x199 - 1 && -1 <= x200 - 1 && x205 + 2 <= x199 f3577_0_getRandom_LT(x209, x210, x211, x212, x213, x214) -> f3147_0_getRandom_LT(x215, x216, x217, x218, x219, x220) :|: x213 = x218 && x209 = x217 && x209 - 1 = x215 && -1 <= x216 - 1 && x212 <= -1 && 0 <= x211 - 1 f3577_0_getRandom_LT(x221, x222, x223, x224, x225, x226) -> f3147_0_getRandom_LT(x227, x228, x229, x230, x231, x232) :|: x225 = x230 && x221 = x229 && x221 - 1 = x227 && -1 <= x228 - 1 && -1 <= x224 - 1 && 1 <= x223 - 1 f3334_0_main_LE(x233, x234, x235, x236, x237, x238) -> f3446_0_visit_NE(x239, x240, x241, x242, x243, x244) :|: 0 <= x245 - 1 && x236 <= 0 && x239 <= x234 && 0 <= x233 - 1 && 0 <= x234 - 1 && 0 <= x239 - 1 && x242 + 2 <= x234 && x240 + 2 <= x234 && x240 = x241 f3446_0_visit_NE(x246, x247, x248, x249, x250, x251) -> f3530_0_visit_NULL(x252, x253, x254, x255, x256, x257) :|: x247 = x252 && x247 = x248 && x247 + 2 <= x246 && x249 + 2 <= x246 && -1 <= x253 - 1 && 0 <= x246 - 1 f3530_0_visit_NULL(x258, x259, x260, x261, x262, x263) -> f3446_0_visit_NE(x264, x265, x266, x267, x268, x269) :|: x258 = x265 && 0 <= x264 - 1 && 0 <= x259 - 1 f3530_0_visit_NULL(x270, x271, x272, x273, x274, x275) -> f3530_0_visit_NULL(x276, x277, x278, x279, x280, x281) :|: x272 = x278 && x270 = x276 && -1 <= x277 - 1 && 0 <= x271 - 1 && x277 + 1 <= x271 __init(x282, x283, x284, x285, x286, x287) -> f1_0_main_Load(x288, x289, x290, x291, x292, x293) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5, arg6) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f543_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && -1 <= arg1P - 1 && 0 <= arg2 - 1 (2) f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1156_0_random_ArrayAccess(x6, x7, x9, x10, x11, x12) :|: 0 <= x1 - 1 && -1 <= x13 - 1 && 0 <= x - 1 && 1 <= x6 - 1 && x1 = x7 && 0 = x9 (3) f814_0_createTree_Return(x14, x15, x16, x17, x18, x19) -> f1156_0_random_ArrayAccess(x20, x21, x22, x23, x24, x25) :|: x18 = x23 && 0 = x22 && 0 = x17 && x18 + 2 <= x15 && 1 <= x20 - 1 && 1 <= x15 - 1 && 0 <= x14 - 1 && x20 <= x15 (4) f1_0_main_Load(x26, x28, x29, x30, x31, x32) -> f3334_0_main_LE(x33, x34, x35, x36, x37, x39) :|: 2 = x37 && x36 - 1 = x35 && -1 <= x34 - 1 && 0 <= x33 - 1 && 0 <= x26 - 1 && x34 + 1 <= x26 && x33 <= x26 && -1 <= x36 - 1 && 0 <= x28 - 1 (5) f1156_0_random_ArrayAccess(x40, x41, x42, x43, x44, x45) -> f3334_0_main_LE(x46, x47, x48, x50, x51, x52) :|: 0 <= x53 - 1 && -1 <= x50 - 1 && x46 + 1 <= x40 && x47 <= x40 && 1 <= x40 - 1 && 0 <= x46 - 1 && 1 <= x47 - 1 && x43 + 2 <= x40 && 0 = x42 && x50 - 1 = x48 && x53 + 1 = x51 (6) f3334_0_main_LE(x54, x55, x56, x57, x58, x59) -> f3430_0_main_InvokeMethod(x60, x61, x62, x63, x64, x65) :|: 0 <= x66 - 1 && 0 <= x57 - 1 && x60 <= x54 && x60 <= x55 && x63 <= x55 && 0 <= x54 - 1 && 0 <= x55 - 1 && 0 <= x60 - 1 && -1 <= x62 - 1 && 0 <= x63 - 1 && x65 + 1 <= x55 && x56 = x61 (7) f3334_0_main_LE(x67, x68, x69, x70, x71, x72) -> f3430_0_main_InvokeMethod(x73, x74, x76, x77, x78, x79) :|: 0 <= x80 - 1 && 0 <= x70 - 1 && x73 <= x67 && x73 <= x68 && x77 <= x68 && 0 <= x67 - 1 && 0 <= x68 - 1 && 0 <= x73 - 1 && 1 <= x76 - 1 && 0 <= x77 - 1 && x79 + 1 <= x68 && x69 = x74 (8) f3430_0_main_InvokeMethod(x81, x82, x84, x85, x86, x87) -> f3334_0_main_LE(x88, x89, x90, x92, x93, x94) :|: x88 <= x81 && 0 <= x95 - 1 && x88 <= x84 && x88 <= x85 && 0 <= x81 - 1 && 0 <= x84 - 1 && 0 <= x85 - 1 && 0 <= x88 - 1 && 0 <= x89 - 1 && x87 + 1 <= x85 && x82 - 1 = x90 && x82 = x92 (9) f543_0_createTree_GT(x96, x97, x98, x99, x100, x101) -> f998_0_createTree_LE(x102, x103, x104, x105, x106, x107) :|: x98 + 1 = x105 && x97 = x104 && x96 = x102 && -1 <= x103 - 1 && 0 <= x96 - 1 && 0 <= x98 - 1 && -1 <= x97 - 1 (10) f998_0_createTree_LE(x108, x109, x110, x111, x112, x113) -> f543_0_createTree_GT(x114, x115, x116, x117, x118, x119) :|: x111 = x116 && x110 = x115 && x108 - 1 = x114 && 1 <= x111 - 1 && x108 - 1 <= x108 - 1 && 0 <= x109 - 1 && 0 <= x108 - 1 (11) f998_0_createTree_LE(x121, x122, x123, x124, x125, x126) -> f998_0_createTree_LE(x127, x128, x129, x130, x131, x132) :|: x124 = x130 && x123 = x129 && x122 - 1 = x128 && 1 = x127 && 1 = x121 && 1 <= x124 - 1 && 0 <= x122 - 1 (12) f998_0_createTree_LE(x133, x134, x135, x136, x137, x138) -> f998_0_createTree_LE(x139, x140, x141, x142, x143, x144) :|: x135 = x141 && x134 - 1 = x140 && x133 = x139 && 1 <= x136 - 1 && x133 - 1 <= x133 - 1 && 0 <= x134 - 1 && 0 <= x133 - 1 (13) f3334_0_main_LE(x145, x146, x147, x148, x149, x151) -> f2378_0_random_ArrayAccess(x152, x153, x154, x155, x156, x157) :|: 0 <= x158 - 1 && 0 <= x148 - 1 && x152 <= x146 && 0 <= x145 - 1 && 0 <= x146 - 1 && 0 <= x152 - 1 && x153 + 1 <= x146 (14) f3430_0_main_InvokeMethod(x159, x160, x161, x162, x163, x164) -> f2378_0_random_ArrayAccess(x165, x166, x167, x168, x169, x170) :|: x165 <= x162 && 0 <= x171 - 1 && 0 <= x159 - 1 && -1 <= x161 - 1 && 0 <= x162 - 1 && 0 <= x165 - 1 && x164 + 1 <= x162 && x164 = x166 (15) f2378_0_random_ArrayAccess(x172, x173, x174, x175, x176, x177) -> f3147_0_getRandom_LT(x178, x179, x180, x181, x182, x183) :|: -1 <= x184 - 1 && -1 <= x180 - 1 && x179 <= x172 && 0 <= x172 - 1 && 0 <= x179 - 1 && x173 + 1 <= x172 && x180 - 1 = x178 && x184 + 1 = x181 (16) f3147_0_getRandom_LT(x185, x186, x187, x188, x189, x190) -> f3577_0_getRandom_LT(x191, x192, x193, x194, x195, x196) :|: x188 + 1 = x195 && x194 - 1 = x192 && x185 = x191 && 0 <= x193 - 1 && 2 <= x186 - 1 && x193 + 2 <= x186 && -1 <= x187 - 1 && -1 <= x188 - 1 && -1 <= x194 - 1 (17) f3577_0_getRandom_LT(x197, x198, x199, x200, x201, x202) -> f3577_0_getRandom_LT(x203, x204, x205, x206, x207, x208) :|: x201 = x207 && x198 = x206 && x198 - 1 = x204 && x197 = x203 && 0 <= x205 - 1 && 2 <= x199 - 1 && -1 <= x200 - 1 && x205 + 2 <= x199 (18) f3577_0_getRandom_LT(x209, x210, x211, x212, x213, x214) -> f3147_0_getRandom_LT(x215, x216, x217, x218, x219, x220) :|: x213 = x218 && x209 = x217 && x209 - 1 = x215 && -1 <= x216 - 1 && x212 <= -1 && 0 <= x211 - 1 (19) f3577_0_getRandom_LT(x221, x222, x223, x224, x225, x226) -> f3147_0_getRandom_LT(x227, x228, x229, x230, x231, x232) :|: x225 = x230 && x221 = x229 && x221 - 1 = x227 && -1 <= x228 - 1 && -1 <= x224 - 1 && 1 <= x223 - 1 (20) f3334_0_main_LE(x233, x234, x235, x236, x237, x238) -> f3446_0_visit_NE(x239, x240, x241, x242, x243, x244) :|: 0 <= x245 - 1 && x236 <= 0 && x239 <= x234 && 0 <= x233 - 1 && 0 <= x234 - 1 && 0 <= x239 - 1 && x242 + 2 <= x234 && x240 + 2 <= x234 && x240 = x241 (21) f3446_0_visit_NE(x246, x247, x248, x249, x250, x251) -> f3530_0_visit_NULL(x252, x253, x254, x255, x256, x257) :|: x247 = x252 && x247 = x248 && x247 + 2 <= x246 && x249 + 2 <= x246 && -1 <= x253 - 1 && 0 <= x246 - 1 (22) f3530_0_visit_NULL(x258, x259, x260, x261, x262, x263) -> f3446_0_visit_NE(x264, x265, x266, x267, x268, x269) :|: x258 = x265 && 0 <= x264 - 1 && 0 <= x259 - 1 (23) f3530_0_visit_NULL(x270, x271, x272, x273, x274, x275) -> f3530_0_visit_NULL(x276, x277, x278, x279, x280, x281) :|: x272 = x278 && x270 = x276 && -1 <= x277 - 1 && 0 <= x271 - 1 && x277 + 1 <= x271 (24) __init(x282, x283, x284, x285, x286, x287) -> f1_0_main_Load(x288, x289, x290, x291, x292, x293) :|: 0 <= 0 Arcs: (1) -> (9) (2) -> (5) (3) -> (5) (4) -> (6), (7), (13), (20) (5) -> (6), (7), (13), (20) (6) -> (8), (14) (7) -> (8), (14) (8) -> (6), (7), (13), (20) (9) -> (10), (11), (12) (10) -> (9) (11) -> (10), (11), (12) (12) -> (10), (11), (12) (13) -> (15) (14) -> (15) (15) -> (16) (16) -> (17), (19) (17) -> (17), (18), (19) (18) -> (16) (19) -> (16) (20) -> (21) (21) -> (22), (23) (22) -> (21) (23) -> (22), (23) (24) -> (1), (2), (4) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) f3334_0_main_LE(x54, x55, x56, x57, x58, x59) -> f3430_0_main_InvokeMethod(x60, x61, x62, x63, x64, x65) :|: 0 <= x66 - 1 && 0 <= x57 - 1 && x60 <= x54 && x60 <= x55 && x63 <= x55 && 0 <= x54 - 1 && 0 <= x55 - 1 && 0 <= x60 - 1 && -1 <= x62 - 1 && 0 <= x63 - 1 && x65 + 1 <= x55 && x56 = x61 (2) f3430_0_main_InvokeMethod(x81, x82, x84, x85, x86, x87) -> f3334_0_main_LE(x88, x89, x90, x92, x93, x94) :|: x88 <= x81 && 0 <= x95 - 1 && x88 <= x84 && x88 <= x85 && 0 <= x81 - 1 && 0 <= x84 - 1 && 0 <= x85 - 1 && 0 <= x88 - 1 && 0 <= x89 - 1 && x87 + 1 <= x85 && x82 - 1 = x90 && x82 = x92 (3) f3334_0_main_LE(x67, x68, x69, x70, x71, x72) -> f3430_0_main_InvokeMethod(x73, x74, x76, x77, x78, x79) :|: 0 <= x80 - 1 && 0 <= x70 - 1 && x73 <= x67 && x73 <= x68 && x77 <= x68 && 0 <= x67 - 1 && 0 <= x68 - 1 && 0 <= x73 - 1 && 1 <= x76 - 1 && 0 <= x77 - 1 && x79 + 1 <= x68 && x69 = x74 Arcs: (1) -> (2) (2) -> (1), (3) (3) -> (2) This digraph is fully evaluated! ---------------------------------------- (6) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (7) Obligation: Rules: f3334_0_main_LE(x54:0, x55:0, x56:0, x57:0, x58:0, x59:0) -> f3334_0_main_LE(x88:0, x89:0, x56:0 - 1, x56:0, x93:0, x94:0) :|: x65:0 + 1 <= x55:0 && x65:0 + 1 <= x63:0 && x89:0 > 0 && x88:0 > 0 && x55:0 > 0 && x63:0 > 0 && x54:0 > 0 && x63:0 <= x55:0 && x60:0 > 0 && x60:0 <= x55:0 && x88:0 <= x63:0 && x60:0 <= x54:0 && x88:0 <= x62:0 && x66:0 > 0 && x57:0 > 0 && x88:0 <= x60:0 && x62:0 > 0 && x95:0 > 0 f3334_0_main_LE(x, x1, x2, x3, x4, x5) -> f3334_0_main_LE(x6, x7, x2 - 1, x2, x8, x9) :|: x10 + 1 <= x1 && x10 + 1 <= x11 && x7 > 0 && x6 > 0 && x1 > 0 && x11 > 0 && x > 0 && x11 <= x1 && x12 > 0 && x12 <= x1 && x6 <= x11 && x12 <= x && x6 <= x13 && x14 > 0 && x3 > 0 && x6 <= x12 && x13 > 1 && x15 > 0 ---------------------------------------- (8) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f3334_0_main_LE(x1, x2, x3, x4, x5, x6) -> f3334_0_main_LE(x1, x2, x3, x4) ---------------------------------------- (9) Obligation: Rules: f3334_0_main_LE(x54:0, x55:0, x56:0, x57:0) -> f3334_0_main_LE(x88:0, x89:0, x56:0 - 1, x56:0) :|: x65:0 + 1 <= x55:0 && x65:0 + 1 <= x63:0 && x89:0 > 0 && x88:0 > 0 && x55:0 > 0 && x63:0 > 0 && x54:0 > 0 && x63:0 <= x55:0 && x60:0 > 0 && x60:0 <= x55:0 && x88:0 <= x63:0 && x60:0 <= x54:0 && x88:0 <= x62:0 && x66:0 > 0 && x57:0 > 0 && x88:0 <= x60:0 && x62:0 > 0 && x95:0 > 0 f3334_0_main_LE(x, x1, x2, x3) -> f3334_0_main_LE(x6, x7, x2 - 1, x2) :|: x10 + 1 <= x1 && x10 + 1 <= x11 && x7 > 0 && x6 > 0 && x1 > 0 && x11 > 0 && x > 0 && x11 <= x1 && x12 > 0 && x12 <= x1 && x6 <= x11 && x12 <= x && x6 <= x13 && x14 > 0 && x3 > 0 && x6 <= x12 && x13 > 1 && x15 > 0 ---------------------------------------- (10) IRSwTChainingProof (EQUIVALENT) Chaining! ---------------------------------------- (11) Obligation: Rules: f3334_0_main_LE(x4, x5, x8, x9) -> f3334_0_main_LE(x28, x29, x8 + -2, x8 + -1) :|: TRUE && x18 + -1 * x5 <= -1 && x18 + -1 * x19 <= -1 && x17 >= 1 && x16 >= 1 && x5 >= 1 && x19 >= 1 && x4 >= 1 && x19 + -1 * x5 <= 0 && x20 >= 1 && x20 + -1 * x5 <= 0 && x16 + -1 * x19 <= 0 && x20 + -1 * x4 <= 0 && x16 + -1 * x21 <= 0 && x22 >= 1 && x9 >= 1 && x16 + -1 * x20 <= 0 && x21 >= 1 && x23 >= 1 && x30 + -1 * x17 <= -1 && x30 + -1 * x31 <= -1 && x29 >= 1 && x28 >= 1 && x31 >= 1 && x31 + -1 * x17 <= 0 && x32 >= 1 && x32 + -1 * x17 <= 0 && x28 + -1 * x31 <= 0 && x32 + -1 * x16 <= 0 && x28 + -1 * x33 <= 0 && x34 >= 1 && x8 >= 1 && x28 + -1 * x32 <= 0 && x33 >= 1 && x35 >= 1 f3334_0_main_LE(x, x1, x2, x3) -> f3334_0_main_LE(x6, x7, x2 - 1, x2) :|: x10 + 1 <= x1 && x10 + 1 <= x11 && x7 > 0 && x6 > 0 && x1 > 0 && x11 > 0 && x > 0 && x11 <= x1 && x12 > 0 && x12 <= x1 && x6 <= x11 && x12 <= x && x6 <= x13 && x14 > 0 && x3 > 0 && x6 <= x12 && x13 > 1 && x15 > 0 f3334_0_main_LE(x36, x37, x38, x39) -> f3334_0_main_LE(x52, x53, x38 + -2, x38 + -1) :|: TRUE && x42 + -1 * x37 <= -1 && x42 + -1 * x43 <= -1 && x41 >= 1 && x40 >= 1 && x37 >= 1 && x43 >= 1 && x36 >= 1 && x43 + -1 * x37 <= 0 && x44 >= 1 && x44 + -1 * x37 <= 0 && x40 + -1 * x43 <= 0 && x44 + -1 * x36 <= 0 && x40 + -1 * x45 <= 0 && x46 >= 1 && x39 >= 1 && x40 + -1 * x44 <= 0 && x45 >= 1 && x47 >= 1 && x54 + -1 * x41 <= -1 && x54 + -1 * x55 <= -1 && x53 >= 1 && x52 >= 1 && x55 >= 1 && x55 + -1 * x41 <= 0 && x56 >= 1 && x56 + -1 * x41 <= 0 && x52 + -1 * x55 <= 0 && x56 + -1 * x40 <= 0 && x52 + -1 * x57 <= 0 && x58 >= 1 && x38 >= 1 && x52 + -1 * x56 <= 0 && x57 >= 2 && x59 >= 1 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3334_0_main_LE(x4, x5, x8, x9) -> f3334_0_main_LE(x28, x29, x8 + -2, x8 + -1) :|: TRUE && x18 + -1 * x5 <= -1 && x18 + -1 * x19 <= -1 && x17 >= 1 && x16 >= 1 && x5 >= 1 && x19 >= 1 && x4 >= 1 && x19 + -1 * x5 <= 0 && x20 >= 1 && x20 + -1 * x5 <= 0 && x16 + -1 * x19 <= 0 && x20 + -1 * x4 <= 0 && x16 + -1 * x21 <= 0 && x22 >= 1 && x9 >= 1 && x16 + -1 * x20 <= 0 && x21 >= 1 && x23 >= 1 && x30 + -1 * x17 <= -1 && x30 + -1 * x31 <= -1 && x29 >= 1 && x28 >= 1 && x31 >= 1 && x31 + -1 * x17 <= 0 && x32 >= 1 && x32 + -1 * x17 <= 0 && x28 + -1 * x31 <= 0 && x32 + -1 * x16 <= 0 && x28 + -1 * x33 <= 0 && x34 >= 1 && x8 >= 1 && x28 + -1 * x32 <= 0 && x33 >= 1 && x35 >= 1 (2) f3334_0_main_LE(x, x1, x2, x3) -> f3334_0_main_LE(x6, x7, x2 - 1, x2) :|: x10 + 1 <= x1 && x10 + 1 <= x11 && x7 > 0 && x6 > 0 && x1 > 0 && x11 > 0 && x > 0 && x11 <= x1 && x12 > 0 && x12 <= x1 && x6 <= x11 && x12 <= x && x6 <= x13 && x14 > 0 && x3 > 0 && x6 <= x12 && x13 > 1 && x15 > 0 (3) f3334_0_main_LE(x36, x37, x38, x39) -> f3334_0_main_LE(x52, x53, x38 + -2, x38 + -1) :|: TRUE && x42 + -1 * x37 <= -1 && x42 + -1 * x43 <= -1 && x41 >= 1 && x40 >= 1 && x37 >= 1 && x43 >= 1 && x36 >= 1 && x43 + -1 * x37 <= 0 && x44 >= 1 && x44 + -1 * x37 <= 0 && x40 + -1 * x43 <= 0 && x44 + -1 * x36 <= 0 && x40 + -1 * x45 <= 0 && x46 >= 1 && x39 >= 1 && x40 + -1 * x44 <= 0 && x45 >= 1 && x47 >= 1 && x54 + -1 * x41 <= -1 && x54 + -1 * x55 <= -1 && x53 >= 1 && x52 >= 1 && x55 >= 1 && x55 + -1 * x41 <= 0 && x56 >= 1 && x56 + -1 * x41 <= 0 && x52 + -1 * x55 <= 0 && x56 + -1 * x40 <= 0 && x52 + -1 * x57 <= 0 && x58 >= 1 && x38 >= 1 && x52 + -1 * x56 <= 0 && x57 >= 2 && x59 >= 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f3334_0_main_LE(x4, x5, x8, x9) -> f3334_0_main_LE(x28, x29, x8 + -2, x8 + -1) :|: TRUE && x18 + -1 * x5 <= -1 && x18 + -1 * x19 <= -1 && x17 >= 1 && x16 >= 1 && x5 >= 1 && x19 >= 1 && x4 >= 1 && x19 + -1 * x5 <= 0 && x20 >= 1 && x20 + -1 * x5 <= 0 && x16 + -1 * x19 <= 0 && x20 + -1 * x4 <= 0 && x16 + -1 * x21 <= 0 && x22 >= 1 && x9 >= 1 && x16 + -1 * x20 <= 0 && x21 >= 1 && x23 >= 1 && x30 + -1 * x17 <= -1 && x30 + -1 * x31 <= -1 && x29 >= 1 && x28 >= 1 && x31 >= 1 && x31 + -1 * x17 <= 0 && x32 >= 1 && x32 + -1 * x17 <= 0 && x28 + -1 * x31 <= 0 && x32 + -1 * x16 <= 0 && x28 + -1 * x33 <= 0 && x34 >= 1 && x8 >= 1 && x28 + -1 * x32 <= 0 && x33 >= 1 && x35 >= 1 (2) f3334_0_main_LE(x, x1, x2, x3) -> f3334_0_main_LE(x6, x7, x2 - 1, x2) :|: x10 + 1 <= x1 && x10 + 1 <= x11 && x7 > 0 && x6 > 0 && x1 > 0 && x11 > 0 && x > 0 && x11 <= x1 && x12 > 0 && x12 <= x1 && x6 <= x11 && x12 <= x && x6 <= x13 && x14 > 0 && x3 > 0 && x6 <= x12 && x13 > 1 && x15 > 0 (3) f3334_0_main_LE(x36, x37, x38, x39) -> f3334_0_main_LE(x52, x53, x38 + -2, x38 + -1) :|: TRUE && x42 + -1 * x37 <= -1 && x42 + -1 * x43 <= -1 && x41 >= 1 && x40 >= 1 && x37 >= 1 && x43 >= 1 && x36 >= 1 && x43 + -1 * x37 <= 0 && x44 >= 1 && x44 + -1 * x37 <= 0 && x40 + -1 * x43 <= 0 && x44 + -1 * x36 <= 0 && x40 + -1 * x45 <= 0 && x46 >= 1 && x39 >= 1 && x40 + -1 * x44 <= 0 && x45 >= 1 && x47 >= 1 && x54 + -1 * x41 <= -1 && x54 + -1 * x55 <= -1 && x53 >= 1 && x52 >= 1 && x55 >= 1 && x55 + -1 * x41 <= 0 && x56 >= 1 && x56 + -1 * x41 <= 0 && x52 + -1 * x55 <= 0 && x56 + -1 * x40 <= 0 && x52 + -1 * x57 <= 0 && x58 >= 1 && x38 >= 1 && x52 + -1 * x56 <= 0 && x57 >= 2 && x59 >= 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, x2:0 - 1, x2:0) :|: x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1 f3334_0_main_LE(x36:0, x37:0, x38:0, x39:0) -> f3334_0_main_LE(x52:0, x53:0, x38:0 - 2, x38:0 - 1) :|: x57:0 > 1 && x59:0 > 0 && x52:0 + -1 * x56:0 <= 0 && x38:0 > 0 && x58:0 > 0 && x52:0 + -1 * x57:0 <= 0 && x56:0 + -1 * x40:0 <= 0 && x52:0 + -1 * x55:0 <= 0 && x56:0 + -1 * x41:0 <= 0 && x56:0 > 0 && x55:0 + -1 * x41:0 <= 0 && x55:0 > 0 && x52:0 > 0 && x53:0 > 0 && x54:0 + -1 * x55:0 <= -1 && x54:0 + -1 * x41:0 <= -1 && x47:0 > 0 && x45:0 > 0 && x40:0 + -1 * x44:0 <= 0 && x39:0 > 0 && x46:0 > 0 && x40:0 + -1 * x45:0 <= 0 && x44:0 + -1 * x36:0 <= 0 && x40:0 + -1 * x43:0 <= 0 && x44:0 + -1 * x37:0 <= 0 && x44:0 > 0 && x43:0 + -1 * x37:0 <= 0 && x36:0 > 0 && x43:0 > 0 && x37:0 > 0 && x40:0 > 0 && x41:0 > 0 && x42:0 + -1 * x37:0 <= -1 && x42:0 + -1 * x43:0 <= -1 f3334_0_main_LE(x4:0, x5:0, x8:0, x9:0) -> f3334_0_main_LE(x28:0, x29:0, x8:0 - 2, x8:0 - 1) :|: x33:0 > 0 && x35:0 > 0 && x28:0 + -1 * x32:0 <= 0 && x8:0 > 0 && x34:0 > 0 && x28:0 + -1 * x33:0 <= 0 && x32:0 + -1 * x16:0 <= 0 && x28:0 + -1 * x31:0 <= 0 && x32:0 + -1 * x17:0 <= 0 && x32:0 > 0 && x31:0 + -1 * x17:0 <= 0 && x31:0 > 0 && x28:0 > 0 && x29:0 > 0 && x30:0 + -1 * x31:0 <= -1 && x30:0 + -1 * x17:0 <= -1 && x23:0 > 0 && x21:0 > 0 && x16:0 + -1 * x20:0 <= 0 && x9:0 > 0 && x22:0 > 0 && x16:0 + -1 * x21:0 <= 0 && x20:0 + -1 * x4:0 <= 0 && x16:0 + -1 * x19:0 <= 0 && x20:0 + -1 * x5:0 <= 0 && x20:0 > 0 && x19:0 + -1 * x5:0 <= 0 && x4:0 > 0 && x19:0 > 0 && x5:0 > 0 && x16:0 > 0 && x17:0 > 0 && x18:0 + -1 * x5:0 <= -1 && x18:0 + -1 * x19:0 <= -1 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3334_0_main_LE(INTEGER, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0.The following proof was generated: # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IntTRS could not be shown: - IntTRS - PolynomialOrderProcessor Rules: f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, c, x2:0) :|: c = x2:0 - 1 && (x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1) f3334_0_main_LE(x36:0, x37:0, x38:0, x39:0) -> f3334_0_main_LE(x52:0, x53:0, c1, c2) :|: c2 = x38:0 - 1 && c1 = x38:0 - 2 && (x57:0 > 1 && x59:0 > 0 && x52:0 + -1 * x56:0 <= 0 && x38:0 > 0 && x58:0 > 0 && x52:0 + -1 * x57:0 <= 0 && x56:0 + -1 * x40:0 <= 0 && x52:0 + -1 * x55:0 <= 0 && x56:0 + -1 * x41:0 <= 0 && x56:0 > 0 && x55:0 + -1 * x41:0 <= 0 && x55:0 > 0 && x52:0 > 0 && x53:0 > 0 && x54:0 + -1 * x55:0 <= -1 && x54:0 + -1 * x41:0 <= -1 && x47:0 > 0 && x45:0 > 0 && x40:0 + -1 * x44:0 <= 0 && x39:0 > 0 && x46:0 > 0 && x40:0 + -1 * x45:0 <= 0 && x44:0 + -1 * x36:0 <= 0 && x40:0 + -1 * x43:0 <= 0 && x44:0 + -1 * x37:0 <= 0 && x44:0 > 0 && x43:0 + -1 * x37:0 <= 0 && x36:0 > 0 && x43:0 > 0 && x37:0 > 0 && x40:0 > 0 && x41:0 > 0 && x42:0 + -1 * x37:0 <= -1 && x42:0 + -1 * x43:0 <= -1) f3334_0_main_LE(x4:0, x5:0, x8:0, x9:0) -> f3334_0_main_LE(x28:0, x29:0, c3, c4) :|: c4 = x8:0 - 1 && c3 = x8:0 - 2 && (x33:0 > 0 && x35:0 > 0 && x28:0 + -1 * x32:0 <= 0 && x8:0 > 0 && x34:0 > 0 && x28:0 + -1 * x33:0 <= 0 && x32:0 + -1 * x16:0 <= 0 && x28:0 + -1 * x31:0 <= 0 && x32:0 + -1 * x17:0 <= 0 && x32:0 > 0 && x31:0 + -1 * x17:0 <= 0 && x31:0 > 0 && x28:0 > 0 && x29:0 > 0 && x30:0 + -1 * x31:0 <= -1 && x30:0 + -1 * x17:0 <= -1 && x23:0 > 0 && x21:0 > 0 && x16:0 + -1 * x20:0 <= 0 && x9:0 > 0 && x22:0 > 0 && x16:0 + -1 * x21:0 <= 0 && x20:0 + -1 * x4:0 <= 0 && x16:0 + -1 * x19:0 <= 0 && x20:0 + -1 * x5:0 <= 0 && x20:0 > 0 && x19:0 + -1 * x5:0 <= 0 && x4:0 > 0 && x19:0 > 0 && x5:0 > 0 && x16:0 > 0 && x17:0 > 0 && x18:0 + -1 * x5:0 <= -1 && x18:0 + -1 * x19:0 <= -1) Found the following polynomial interpretation: [f3334_0_main_LE(x, x1, x2, x3)] = -1 + x2 The following rules are decreasing: f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, c, x2:0) :|: c = x2:0 - 1 && (x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1) f3334_0_main_LE(x36:0, x37:0, x38:0, x39:0) -> f3334_0_main_LE(x52:0, x53:0, c1, c2) :|: c2 = x38:0 - 1 && c1 = x38:0 - 2 && (x57:0 > 1 && x59:0 > 0 && x52:0 + -1 * x56:0 <= 0 && x38:0 > 0 && x58:0 > 0 && x52:0 + -1 * x57:0 <= 0 && x56:0 + -1 * x40:0 <= 0 && x52:0 + -1 * x55:0 <= 0 && x56:0 + -1 * x41:0 <= 0 && x56:0 > 0 && x55:0 + -1 * x41:0 <= 0 && x55:0 > 0 && x52:0 > 0 && x53:0 > 0 && x54:0 + -1 * x55:0 <= -1 && x54:0 + -1 * x41:0 <= -1 && x47:0 > 0 && x45:0 > 0 && x40:0 + -1 * x44:0 <= 0 && x39:0 > 0 && x46:0 > 0 && x40:0 + -1 * x45:0 <= 0 && x44:0 + -1 * x36:0 <= 0 && x40:0 + -1 * x43:0 <= 0 && x44:0 + -1 * x37:0 <= 0 && x44:0 > 0 && x43:0 + -1 * x37:0 <= 0 && x36:0 > 0 && x43:0 > 0 && x37:0 > 0 && x40:0 > 0 && x41:0 > 0 && x42:0 + -1 * x37:0 <= -1 && x42:0 + -1 * x43:0 <= -1) f3334_0_main_LE(x4:0, x5:0, x8:0, x9:0) -> f3334_0_main_LE(x28:0, x29:0, c3, c4) :|: c4 = x8:0 - 1 && c3 = x8:0 - 2 && (x33:0 > 0 && x35:0 > 0 && x28:0 + -1 * x32:0 <= 0 && x8:0 > 0 && x34:0 > 0 && x28:0 + -1 * x33:0 <= 0 && x32:0 + -1 * x16:0 <= 0 && x28:0 + -1 * x31:0 <= 0 && x32:0 + -1 * x17:0 <= 0 && x32:0 > 0 && x31:0 + -1 * x17:0 <= 0 && x31:0 > 0 && x28:0 > 0 && x29:0 > 0 && x30:0 + -1 * x31:0 <= -1 && x30:0 + -1 * x17:0 <= -1 && x23:0 > 0 && x21:0 > 0 && x16:0 + -1 * x20:0 <= 0 && x9:0 > 0 && x22:0 > 0 && x16:0 + -1 * x21:0 <= 0 && x20:0 + -1 * x4:0 <= 0 && x16:0 + -1 * x19:0 <= 0 && x20:0 + -1 * x5:0 <= 0 && x20:0 > 0 && x19:0 + -1 * x5:0 <= 0 && x4:0 > 0 && x19:0 > 0 && x5:0 > 0 && x16:0 > 0 && x17:0 > 0 && x18:0 + -1 * x5:0 <= -1 && x18:0 + -1 * x19:0 <= -1) The following rules are bounded: f3334_0_main_LE(x36:0, x37:0, x38:0, x39:0) -> f3334_0_main_LE(x52:0, x53:0, c1, c2) :|: c2 = x38:0 - 1 && c1 = x38:0 - 2 && (x57:0 > 1 && x59:0 > 0 && x52:0 + -1 * x56:0 <= 0 && x38:0 > 0 && x58:0 > 0 && x52:0 + -1 * x57:0 <= 0 && x56:0 + -1 * x40:0 <= 0 && x52:0 + -1 * x55:0 <= 0 && x56:0 + -1 * x41:0 <= 0 && x56:0 > 0 && x55:0 + -1 * x41:0 <= 0 && x55:0 > 0 && x52:0 > 0 && x53:0 > 0 && x54:0 + -1 * x55:0 <= -1 && x54:0 + -1 * x41:0 <= -1 && x47:0 > 0 && x45:0 > 0 && x40:0 + -1 * x44:0 <= 0 && x39:0 > 0 && x46:0 > 0 && x40:0 + -1 * x45:0 <= 0 && x44:0 + -1 * x36:0 <= 0 && x40:0 + -1 * x43:0 <= 0 && x44:0 + -1 * x37:0 <= 0 && x44:0 > 0 && x43:0 + -1 * x37:0 <= 0 && x36:0 > 0 && x43:0 > 0 && x37:0 > 0 && x40:0 > 0 && x41:0 > 0 && x42:0 + -1 * x37:0 <= -1 && x42:0 + -1 * x43:0 <= -1) f3334_0_main_LE(x4:0, x5:0, x8:0, x9:0) -> f3334_0_main_LE(x28:0, x29:0, c3, c4) :|: c4 = x8:0 - 1 && c3 = x8:0 - 2 && (x33:0 > 0 && x35:0 > 0 && x28:0 + -1 * x32:0 <= 0 && x8:0 > 0 && x34:0 > 0 && x28:0 + -1 * x33:0 <= 0 && x32:0 + -1 * x16:0 <= 0 && x28:0 + -1 * x31:0 <= 0 && x32:0 + -1 * x17:0 <= 0 && x32:0 > 0 && x31:0 + -1 * x17:0 <= 0 && x31:0 > 0 && x28:0 > 0 && x29:0 > 0 && x30:0 + -1 * x31:0 <= -1 && x30:0 + -1 * x17:0 <= -1 && x23:0 > 0 && x21:0 > 0 && x16:0 + -1 * x20:0 <= 0 && x9:0 > 0 && x22:0 > 0 && x16:0 + -1 * x21:0 <= 0 && x20:0 + -1 * x4:0 <= 0 && x16:0 + -1 * x19:0 <= 0 && x20:0 + -1 * x5:0 <= 0 && x20:0 > 0 && x19:0 + -1 * x5:0 <= 0 && x4:0 > 0 && x19:0 > 0 && x5:0 > 0 && x16:0 > 0 && x17:0 > 0 && x18:0 + -1 * x5:0 <= -1 && x18:0 + -1 * x19:0 <= -1) - IntTRS - PolynomialOrderProcessor - IntTRS Rules: f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, c, x2:0) :|: c = x2:0 - 1 && (x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1) ---------------------------------------- (17) Obligation: Rules: f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, x2:0 - 1, x2:0) :|: x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1 ---------------------------------------- (18) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, x2:0 - 1, x2:0) :|: x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (19) Obligation: Termination digraph: Nodes: (1) f3334_0_main_LE(x:0, x1:0, x2:0, x3:0) -> f3334_0_main_LE(x6:0, x7:0, x2:0 - 1, x2:0) :|: x13:0 > 1 && x15:0 > 0 && x6:0 <= x12:0 && x3:0 > 0 && x14:0 > 0 && x6:0 <= x13:0 && x:0 >= x12:0 && x6:0 <= x11:0 && x1:0 >= x12:0 && x12:0 > 0 && x1:0 >= x11:0 && x:0 > 0 && x11:0 > 0 && x1:0 > 0 && x6:0 > 0 && x7:0 > 0 && x11:0 >= x10:0 + 1 && x1:0 >= x10:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (20) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (21) Obligation: Rules: f3334_0_main_LE(x:0:0, x1:0:0, x2:0:0, x3:0:0) -> f3334_0_main_LE(x6:0:0, x7:0:0, x2:0:0 - 1, x2:0:0) :|: x11:0:0 >= x10:0:0 + 1 && x1:0:0 >= x10:0:0 + 1 && x7:0:0 > 0 && x6:0:0 > 0 && x1:0:0 > 0 && x11:0:0 > 0 && x:0:0 > 0 && x1:0:0 >= x11:0:0 && x12:0:0 > 0 && x1:0:0 >= x12:0:0 && x6:0:0 <= x11:0:0 && x:0:0 >= x12:0:0 && x6:0:0 <= x13:0:0 && x14:0:0 > 0 && x3:0:0 > 0 && x6:0:0 <= x12:0:0 && x15:0:0 > 0 && x13:0:0 > 1 ---------------------------------------- (22) Obligation: Termination digraph: Nodes: (1) f3446_0_visit_NE(x246, x247, x248, x249, x250, x251) -> f3530_0_visit_NULL(x252, x253, x254, x255, x256, x257) :|: x247 = x252 && x247 = x248 && x247 + 2 <= x246 && x249 + 2 <= x246 && -1 <= x253 - 1 && 0 <= x246 - 1 (2) f3530_0_visit_NULL(x258, x259, x260, x261, x262, x263) -> f3446_0_visit_NE(x264, x265, x266, x267, x268, x269) :|: x258 = x265 && 0 <= x264 - 1 && 0 <= x259 - 1 (3) f3530_0_visit_NULL(x270, x271, x272, x273, x274, x275) -> f3530_0_visit_NULL(x276, x277, x278, x279, x280, x281) :|: x272 = x278 && x270 = x276 && -1 <= x277 - 1 && 0 <= x271 - 1 && x277 + 1 <= x271 Arcs: (1) -> (2), (3) (2) -> (1) (3) -> (2), (3) This digraph is fully evaluated! ---------------------------------------- (23) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (24) Obligation: Rules: f3530_0_visit_NULL(x270:0, x271:0, x272:0, x273:0, x274:0, x275:0) -> f3530_0_visit_NULL(x270:0, x277:0, x272:0, x279:0, x280:0, x281:0) :|: x271:0 > 0 && x277:0 > -1 && x277:0 + 1 <= x271:0 f3530_0_visit_NULL(x252:0, x259:0, x260:0, x261:0, x262:0, x263:0) -> f3530_0_visit_NULL(x252:0, x253:0, x254:0, x255:0, x256:0, x257:0) :|: x259:0 > 0 && x264:0 > 0 && x253:0 > -1 && x264:0 >= x252:0 + 2 && x267:0 + 2 <= x264:0 ---------------------------------------- (25) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f3530_0_visit_NULL(x1, x2, x3, x4, x5, x6) -> f3530_0_visit_NULL(x1, x2) ---------------------------------------- (26) Obligation: Rules: f3530_0_visit_NULL(x270:0, x271:0) -> f3530_0_visit_NULL(x270:0, x277:0) :|: x271:0 > 0 && x277:0 > -1 && x277:0 + 1 <= x271:0 f3530_0_visit_NULL(x252:0, x259:0) -> f3530_0_visit_NULL(x252:0, x253:0) :|: x259:0 > 0 && x264:0 > 0 && x253:0 > -1 && x264:0 >= x252:0 + 2 && x267:0 + 2 <= x264:0 ---------------------------------------- (27) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f3530_0_visit_NULL(VARIABLE, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (28) Obligation: Rules: f3530_0_visit_NULL(x270:0, x271:0) -> f3530_0_visit_NULL(x270:0, x277:0) :|: x271:0 > 0 && x277:0 > -1 && x277:0 + 1 <= x271:0 f3530_0_visit_NULL(x252:0, x259:0) -> f3530_0_visit_NULL(x252:0, x253:0) :|: x259:0 > 0 && x264:0 > 0 && x253:0 > -1 && x264:0 >= x252:0 + 2 && x267:0 + 2 <= x264:0 ---------------------------------------- (29) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (30) Obligation: Rules: f3530_0_visit_NULL(x270:0:0, x271:0:0) -> f3530_0_visit_NULL(x270:0:0, x277:0:0) :|: x271:0:0 > 0 && x277:0:0 > -1 && x277:0:0 + 1 <= x271:0:0 f3530_0_visit_NULL(x252:0:0, x259:0:0) -> f3530_0_visit_NULL(x252:0:0, x253:0:0) :|: x264:0:0 >= x252:0:0 + 2 && x267:0:0 + 2 <= x264:0:0 && x253:0:0 > -1 && x264:0:0 > 0 && x259:0:0 > 0 ---------------------------------------- (31) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x270:0:0, x271:0:0) -> f(1, x270:0:0, x277:0:0) :|: pc = 1 && (x271:0:0 > 0 && x277:0:0 > -1 && x277:0:0 + 1 <= x271:0:0) f(pc, x252:0:0, x259:0:0) -> f(1, x252:0:0, x253:0:0) :|: pc = 1 && (x264:0:0 >= x252:0:0 + 2 && x267:0:0 + 2 <= x264:0:0 && x253:0:0 > -1 && x264:0:0 > 0 && x259:0:0 > 0) Witness term starting non-terminating reduction: f(1, -2, 2) ---------------------------------------- (32) NO ---------------------------------------- (33) Obligation: Termination digraph: Nodes: (1) f3147_0_getRandom_LT(x185, x186, x187, x188, x189, x190) -> f3577_0_getRandom_LT(x191, x192, x193, x194, x195, x196) :|: x188 + 1 = x195 && x194 - 1 = x192 && x185 = x191 && 0 <= x193 - 1 && 2 <= x186 - 1 && x193 + 2 <= x186 && -1 <= x187 - 1 && -1 <= x188 - 1 && -1 <= x194 - 1 (2) f3577_0_getRandom_LT(x221, x222, x223, x224, x225, x226) -> f3147_0_getRandom_LT(x227, x228, x229, x230, x231, x232) :|: x225 = x230 && x221 = x229 && x221 - 1 = x227 && -1 <= x228 - 1 && -1 <= x224 - 1 && 1 <= x223 - 1 (3) f3577_0_getRandom_LT(x209, x210, x211, x212, x213, x214) -> f3147_0_getRandom_LT(x215, x216, x217, x218, x219, x220) :|: x213 = x218 && x209 = x217 && x209 - 1 = x215 && -1 <= x216 - 1 && x212 <= -1 && 0 <= x211 - 1 (4) f3577_0_getRandom_LT(x197, x198, x199, x200, x201, x202) -> f3577_0_getRandom_LT(x203, x204, x205, x206, x207, x208) :|: x201 = x207 && x198 = x206 && x198 - 1 = x204 && x197 = x203 && 0 <= x205 - 1 && 2 <= x199 - 1 && -1 <= x200 - 1 && x205 + 2 <= x199 Arcs: (1) -> (2), (4) (2) -> (1) (3) -> (1) (4) -> (2), (3), (4) This digraph is fully evaluated! ---------------------------------------- (34) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (35) Obligation: Rules: f3577_0_getRandom_LT(x209:0, x210:0, x211:0, x212:0, x213:0, x214:0) -> f3577_0_getRandom_LT(x209:0 - 1, x194:0 - 1, x193:0, x194:0, x213:0 + 1, x196:0) :|: x194:0 > -1 && x211:0 > 0 && x212:0 < 0 && x213:0 > -1 && x209:0 > -1 && x216:0 >= x193:0 + 2 && x216:0 > 2 && x193:0 > 0 f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0, x202:0) -> f3577_0_getRandom_LT(x197:0, x198:0 - 1, x205:0, x198:0, x201:0, x208:0) :|: x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2 f3577_0_getRandom_LT(x, x1, x2, x3, x4, x5) -> f3577_0_getRandom_LT(x - 1, x6 - 1, x7, x6, x4 + 1, x8) :|: x6 > -1 && x2 > 1 && x3 > -1 && x4 > -1 && x > -1 && x9 >= x7 + 2 && x9 > 2 && x7 > 0 ---------------------------------------- (36) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f3577_0_getRandom_LT(x1, x2, x3, x4, x5, x6) -> f3577_0_getRandom_LT(x1, x2, x3, x4, x5) ---------------------------------------- (37) Obligation: Rules: f3577_0_getRandom_LT(x209:0, x210:0, x211:0, x212:0, x213:0) -> f3577_0_getRandom_LT(x209:0 - 1, x194:0 - 1, x193:0, x194:0, x213:0 + 1) :|: x194:0 > -1 && x211:0 > 0 && x212:0 < 0 && x213:0 > -1 && x209:0 > -1 && x216:0 >= x193:0 + 2 && x216:0 > 2 && x193:0 > 0 f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0) -> f3577_0_getRandom_LT(x197:0, x198:0 - 1, x205:0, x198:0, x201:0) :|: x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2 f3577_0_getRandom_LT(x, x1, x2, x3, x4) -> f3577_0_getRandom_LT(x - 1, x6 - 1, x7, x6, x4 + 1) :|: x6 > -1 && x2 > 1 && x3 > -1 && x4 > -1 && x > -1 && x9 >= x7 + 2 && x9 > 2 && x7 > 0 ---------------------------------------- (38) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3577_0_getRandom_LT(VARIABLE, VARIABLE, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (39) Obligation: Rules: f3577_0_getRandom_LT(x209:0, x210:0, x211:0, x212:0, x213:0) -> f3577_0_getRandom_LT(c, c1, x193:0, x194:0, c2) :|: c2 = x213:0 + 1 && (c1 = x194:0 - 1 && c = x209:0 - 1) && (x194:0 > -1 && x211:0 > 0 && x212:0 < 0 && x213:0 > -1 && x209:0 > -1 && x216:0 >= x193:0 + 2 && x216:0 > 2 && x193:0 > 0) f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0) -> f3577_0_getRandom_LT(x197:0, c3, x205:0, x198:0, x201:0) :|: c3 = x198:0 - 1 && (x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2) f3577_0_getRandom_LT(x, x1, x2, x3, x4) -> f3577_0_getRandom_LT(c4, c5, x7, x6, c6) :|: c6 = x4 + 1 && (c5 = x6 - 1 && c4 = x - 1) && (x6 > -1 && x2 > 1 && x3 > -1 && x4 > -1 && x > -1 && x9 >= x7 + 2 && x9 > 2 && x7 > 0) ---------------------------------------- (40) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f3577_0_getRandom_LT(x, x1, x2, x3, x4)] = 2*x + x4 The following rules are decreasing: f3577_0_getRandom_LT(x209:0, x210:0, x211:0, x212:0, x213:0) -> f3577_0_getRandom_LT(c, c1, x193:0, x194:0, c2) :|: c2 = x213:0 + 1 && (c1 = x194:0 - 1 && c = x209:0 - 1) && (x194:0 > -1 && x211:0 > 0 && x212:0 < 0 && x213:0 > -1 && x209:0 > -1 && x216:0 >= x193:0 + 2 && x216:0 > 2 && x193:0 > 0) f3577_0_getRandom_LT(x, x1, x2, x3, x4) -> f3577_0_getRandom_LT(c4, c5, x7, x6, c6) :|: c6 = x4 + 1 && (c5 = x6 - 1 && c4 = x - 1) && (x6 > -1 && x2 > 1 && x3 > -1 && x4 > -1 && x > -1 && x9 >= x7 + 2 && x9 > 2 && x7 > 0) The following rules are bounded: f3577_0_getRandom_LT(x209:0, x210:0, x211:0, x212:0, x213:0) -> f3577_0_getRandom_LT(c, c1, x193:0, x194:0, c2) :|: c2 = x213:0 + 1 && (c1 = x194:0 - 1 && c = x209:0 - 1) && (x194:0 > -1 && x211:0 > 0 && x212:0 < 0 && x213:0 > -1 && x209:0 > -1 && x216:0 >= x193:0 + 2 && x216:0 > 2 && x193:0 > 0) f3577_0_getRandom_LT(x, x1, x2, x3, x4) -> f3577_0_getRandom_LT(c4, c5, x7, x6, c6) :|: c6 = x4 + 1 && (c5 = x6 - 1 && c4 = x - 1) && (x6 > -1 && x2 > 1 && x3 > -1 && x4 > -1 && x > -1 && x9 >= x7 + 2 && x9 > 2 && x7 > 0) ---------------------------------------- (41) Obligation: Rules: f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0) -> f3577_0_getRandom_LT(x197:0, c3, x205:0, x198:0, x201:0) :|: c3 = x198:0 - 1 && (x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2) ---------------------------------------- (42) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f3577_0_getRandom_LT(x, x1, x2, x3, x4)] = x2 The following rules are decreasing: f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0) -> f3577_0_getRandom_LT(x197:0, c3, x205:0, x198:0, x201:0) :|: c3 = x198:0 - 1 && (x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2) The following rules are bounded: f3577_0_getRandom_LT(x197:0, x198:0, x199:0, x200:0, x201:0) -> f3577_0_getRandom_LT(x197:0, c3, x205:0, x198:0, x201:0) :|: c3 = x198:0 - 1 && (x200:0 > -1 && x205:0 + 2 <= x199:0 && x205:0 > 0 && x199:0 > 2) ---------------------------------------- (43) YES ---------------------------------------- (44) Obligation: Termination digraph: Nodes: (1) f543_0_createTree_GT(x96, x97, x98, x99, x100, x101) -> f998_0_createTree_LE(x102, x103, x104, x105, x106, x107) :|: x98 + 1 = x105 && x97 = x104 && x96 = x102 && -1 <= x103 - 1 && 0 <= x96 - 1 && 0 <= x98 - 1 && -1 <= x97 - 1 (2) f998_0_createTree_LE(x108, x109, x110, x111, x112, x113) -> f543_0_createTree_GT(x114, x115, x116, x117, x118, x119) :|: x111 = x116 && x110 = x115 && x108 - 1 = x114 && 1 <= x111 - 1 && x108 - 1 <= x108 - 1 && 0 <= x109 - 1 && 0 <= x108 - 1 (3) f998_0_createTree_LE(x121, x122, x123, x124, x125, x126) -> f998_0_createTree_LE(x127, x128, x129, x130, x131, x132) :|: x124 = x130 && x123 = x129 && x122 - 1 = x128 && 1 = x127 && 1 = x121 && 1 <= x124 - 1 && 0 <= x122 - 1 (4) f998_0_createTree_LE(x133, x134, x135, x136, x137, x138) -> f998_0_createTree_LE(x139, x140, x141, x142, x143, x144) :|: x135 = x141 && x134 - 1 = x140 && x133 = x139 && 1 <= x136 - 1 && x133 - 1 <= x133 - 1 && 0 <= x134 - 1 && 0 <= x133 - 1 Arcs: (1) -> (2), (3), (4) (2) -> (1) (3) -> (2), (3), (4) (4) -> (2), (3), (4) This digraph is fully evaluated! ---------------------------------------- (45) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (46) Obligation: Rules: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0, x137:0, x138:0) -> f998_0_createTree_LE(x133:0, x134:0 - 1, x135:0, x142:0, x143:0, x144:0) :|: x134:0 > 0 && x136:0 > 1 && x133:0 > 0 f998_0_createTree_LE(x108:0, x109:0, x104:0, x111:0, x112:0, x113:0) -> f998_0_createTree_LE(x108:0 - 1, x103:0, x104:0, x111:0 + 1, x106:0, x107:0) :|: x109:0 > 0 && x104:0 > -1 && x103:0 > -1 && x111:0 > 1 && x108:0 > 1 f998_0_createTree_LE(cons_1, x122:0, x123:0, x124:0, x125:0, x126:0) -> f998_0_createTree_LE(1, x122:0 - 1, x123:0, x124:0, x131:0, x132:0) :|: x122:0 > 0 && x124:0 > 1 && cons_1 = 1 ---------------------------------------- (47) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f998_0_createTree_LE(x1, x2, x3, x4, x5, x6) -> f998_0_createTree_LE(x1, x2, x3, x4) ---------------------------------------- (48) Obligation: Rules: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, x134:0 - 1, x135:0, x142:0) :|: x134:0 > 0 && x136:0 > 1 && x133:0 > 0 f998_0_createTree_LE(x108:0, x109:0, x104:0, x111:0) -> f998_0_createTree_LE(x108:0 - 1, x103:0, x104:0, x111:0 + 1) :|: x109:0 > 0 && x104:0 > -1 && x103:0 > -1 && x111:0 > 1 && x108:0 > 1 f998_0_createTree_LE(cons_1, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(1, x122:0 - 1, x123:0, x124:0) :|: x122:0 > 0 && x124:0 > 1 && cons_1 = 1 ---------------------------------------- (49) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f998_0_createTree_LE(VARIABLE, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (50) Obligation: Rules: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, c, x135:0, x142:0) :|: c = x134:0 - 1 && (x134:0 > 0 && x136:0 > 1 && x133:0 > 0) f998_0_createTree_LE(x108:0, x109:0, x104:0, x111:0) -> f998_0_createTree_LE(c1, x103:0, x104:0, c2) :|: c2 = x111:0 + 1 && c1 = x108:0 - 1 && (x109:0 > 0 && x104:0 > -1 && x103:0 > -1 && x111:0 > 1 && x108:0 > 1) f998_0_createTree_LE(c3, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(c4, c5, x123:0, x124:0) :|: c5 = x122:0 - 1 && (c4 = 1 && c3 = 1) && (x122:0 > 0 && x124:0 > 1 && cons_1 = 1) ---------------------------------------- (51) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f998_0_createTree_LE(x, x1, x2, x3)] = x The following rules are decreasing: f998_0_createTree_LE(x108:0, x109:0, x104:0, x111:0) -> f998_0_createTree_LE(c1, x103:0, x104:0, c2) :|: c2 = x111:0 + 1 && c1 = x108:0 - 1 && (x109:0 > 0 && x104:0 > -1 && x103:0 > -1 && x111:0 > 1 && x108:0 > 1) The following rules are bounded: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, c, x135:0, x142:0) :|: c = x134:0 - 1 && (x134:0 > 0 && x136:0 > 1 && x133:0 > 0) f998_0_createTree_LE(x108:0, x109:0, x104:0, x111:0) -> f998_0_createTree_LE(c1, x103:0, x104:0, c2) :|: c2 = x111:0 + 1 && c1 = x108:0 - 1 && (x109:0 > 0 && x104:0 > -1 && x103:0 > -1 && x111:0 > 1 && x108:0 > 1) f998_0_createTree_LE(c3, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(c4, c5, x123:0, x124:0) :|: c5 = x122:0 - 1 && (c4 = 1 && c3 = 1) && (x122:0 > 0 && x124:0 > 1 && cons_1 = 1) ---------------------------------------- (52) Obligation: Rules: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, c, x135:0, x142:0) :|: c = x134:0 - 1 && (x134:0 > 0 && x136:0 > 1 && x133:0 > 0) f998_0_createTree_LE(c3, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(c4, c5, x123:0, x124:0) :|: c5 = x122:0 - 1 && (c4 = 1 && c3 = 1) && (x122:0 > 0 && x124:0 > 1 && cons_1 = 1) ---------------------------------------- (53) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f998_0_createTree_LE ] = f998_0_createTree_LE_2 The following rules are decreasing: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, c, x135:0, x142:0) :|: c = x134:0 - 1 && (x134:0 > 0 && x136:0 > 1 && x133:0 > 0) f998_0_createTree_LE(c3, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(c4, c5, x123:0, x124:0) :|: c5 = x122:0 - 1 && (c4 = 1 && c3 = 1) && (x122:0 > 0 && x124:0 > 1 && cons_1 = 1) The following rules are bounded: f998_0_createTree_LE(x133:0, x134:0, x135:0, x136:0) -> f998_0_createTree_LE(x133:0, c, x135:0, x142:0) :|: c = x134:0 - 1 && (x134:0 > 0 && x136:0 > 1 && x133:0 > 0) f998_0_createTree_LE(c3, x122:0, x123:0, x124:0) -> f998_0_createTree_LE(c4, c5, x123:0, x124:0) :|: c5 = x122:0 - 1 && (c4 = 1 && c3 = 1) && (x122:0 > 0 && x124:0 > 1 && cons_1 = 1) ---------------------------------------- (54) YES