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, 9129 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 9 ms] (7) IRSwT (8) TempFilterProof [SOUND, 90 ms] (9) IntTRS (10) RankingReductionPairProof [EQUIVALENT, 44 ms] (11) YES (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 30 ms] (14) IRSwT (15) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (16) IRSwT (17) FilterProof [EQUIVALENT, 0 ms] (18) IntTRS (19) IntTRSCompressionProof [EQUIVALENT, 0 ms] (20) IntTRS (21) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (22) NO (23) IRSwT (24) IntTRSCompressionProof [EQUIVALENT, 7 ms] (25) IRSwT (26) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (27) IRSwT (28) FilterProof [EQUIVALENT, 0 ms] (29) IntTRS (30) IntTRSCompressionProof [EQUIVALENT, 0 ms] (31) IntTRS (32) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (33) YES ---------------------------------------- (0) Obligation: Rules: f193_0_createTree_Return(arg1, arg2, arg3, arg4) -> f295_0_main_InvokeMethod(arg1P, arg2P, arg3P, arg4P) :|: arg2 = arg2P && 0 <= arg1P - 1 && 0 <= arg1 - 1 && arg1P <= arg1 f1_0_main_Load(x, x1, x2, x3) -> f295_0_main_InvokeMethod(x4, x5, x6, x7) :|: 0 <= x4 - 1 && 0 <= x - 1 && x4 <= x f1_0_main_Load(x8, x9, x10, x11) -> f2292_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 f508_0_createTree_Return(x16, x17, x18, x19) -> f2292_0_main_InvokeMethod(x20, x21, x22, x23) :|: x19 = x23 && x18 = x22 && x19 + 2 <= x17 && 1 <= x21 - 1 && 0 <= x20 - 1 && 1 <= x17 - 1 && 0 <= x16 - 1 && x21 <= x17 && x20 + 1 <= x17 && x20 <= x16 f295_0_main_InvokeMethod(x24, x25, x26, x27) -> f2302_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 f509_0_createTree_Return(x32, x33, x34, x36) -> f2302_0_main_InvokeMethod(x37, x39, x40, x41) :|: x34 = x40 && x34 + 2 <= x33 && 1 <= x39 - 1 && 0 <= x37 - 1 && 1 <= x33 - 1 && 0 <= x32 - 1 && x39 <= x33 && x37 + 1 <= x33 && x37 <= x32 f1_0_main_Load(x42, x44, x45, x46) -> f548_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f548_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 f2292_0_main_InvokeMethod(x61, x62, x63, x64) -> f548_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 f548_0_random_ArrayAccess(x71, x72, x73, x74) -> f2274_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 f2274_0_createTree_LE(x80, x81, x82, x83) -> f2274_0_createTree_LE(x84, x86, x87, x88) :|: x83 + 1 = x88 && x82 - 1 = x87 && 0 <= x86 - 1 && 0 <= x84 - 1 && 2 <= x81 - 1 && 0 <= x80 - 1 && x86 + 2 <= x81 && x84 <= x80 && 0 <= x82 - 1 && -1 <= x83 - 1 f2274_0_createTree_LE(x89, x90, x91, x93) -> f2274_0_createTree_LE(x94, x95, x96, x97) :|: 0 <= x91 - 1 && 0 <= x98 - 1 && -1 <= x93 - 1 && x94 <= x89 && x95 + 2 <= x90 && 0 <= x89 - 1 && 2 <= x90 - 1 && 0 <= x94 - 1 && 0 <= x95 - 1 && x91 - 1 = x96 && x93 + 1 = x97 f2274_0_createTree_LE(x99, x100, x101, x102) -> f2274_0_createTree_LE(x103, x104, x105, x106) :|: 0 <= x101 - 1 && 0 <= x107 - 1 && -1 <= x102 - 1 && 0 <= x99 - 1 && 1 <= x100 - 1 && 0 <= x103 - 1 && 0 <= x104 - 1 && x101 - 1 = x105 && x102 + 1 = x106 f2274_0_createTree_LE(x109, x110, x111, x112) -> f2274_0_createTree_LE(x113, x114, x115, x116) :|: x112 + 1 = x116 && x111 - 1 = x115 && 0 <= x114 - 1 && 0 <= x113 - 1 && 1 <= x110 - 1 && 0 <= x109 - 1 && 0 <= x111 - 1 && -1 <= x112 - 1 f2274_0_createTree_LE(x117, x118, x119, x120) -> f2274_0_createTree_LE(x121, x122, x123, x124) :|: x120 + 1 = x124 && x119 - 1 = x123 && 3 <= x122 - 1 && 3 <= x121 - 1 && 1 <= x118 - 1 && 1 <= x117 - 1 && x122 - 2 <= x118 && x122 - 2 <= x117 && x121 - 2 <= x118 && x121 - 2 <= x117 && 0 <= x119 - 1 && -1 <= x120 - 1 f2274_0_createTree_LE(x125, x126, x127, x128) -> f2274_0_createTree_LE(x129, x130, x131, x132) :|: 0 <= x127 - 1 && 0 <= x133 - 1 && -1 <= x128 - 1 && x129 - 2 <= x125 && x129 - 2 <= x126 && x130 - 2 <= x125 && x130 - 2 <= x126 && 1 <= x125 - 1 && 1 <= x126 - 1 && 3 <= x129 - 1 && 3 <= x130 - 1 && x127 - 1 = x131 && x128 + 1 = x132 f295_0_main_InvokeMethod(x134, x135, x136, x137) -> f1394_0_less_leaves_NULL(x138, x139, x140, x141) :|: 0 <= x142 - 1 && 0 <= x135 - 1 && x138 + 1 <= x134 && x139 + 1 <= x134 && x140 + 1 <= x134 && 0 <= x134 - 1 && -1 <= x138 - 1 && -1 <= x139 - 1 && -1 <= x140 - 1 f2302_0_main_InvokeMethod(x143, x144, x145, x146) -> f1394_0_less_leaves_NULL(x147, x148, x149, x150) :|: x145 + 2 <= x144 && -1 <= x149 - 1 && 0 <= x148 - 1 && -1 <= x147 - 1 && 0 <= x144 - 1 && 0 <= x143 - 1 && x149 + 1 <= x144 && x149 + 1 <= x143 && x148 <= x144 && x147 + 1 <= x144 && x147 + 1 <= x143 f2292_0_main_InvokeMethod(x151, x152, x153, x154) -> f1394_0_less_leaves_NULL(x155, x156, x157, x158) :|: x155 <= x152 && 0 <= x159 - 1 && x156 + 1 <= x151 && x156 + 1 <= x152 && x157 <= x152 && 0 <= x151 - 1 && 0 <= x152 - 1 && 0 <= x155 - 1 && -1 <= x156 - 1 && 0 <= x157 - 1 && x154 + 2 <= x152 f2292_0_main_InvokeMethod(x160, x161, x162, x163) -> f1394_0_less_leaves_NULL(x164, x165, x166, x167) :|: x163 + 2 <= x161 && 0 <= x166 - 1 && 0 <= x165 - 1 && 0 <= x164 - 1 && 0 <= x161 - 1 && 0 <= x160 - 1 && x166 <= x161 && x164 <= x161 f1394_0_less_leaves_NULL(x168, x169, x170, x171) -> f1268_0_append_NONNULL(x172, x173, x174, x175) :|: -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && x172 + 1 <= x170 && x172 + 1 <= x168 f1394_0_less_leaves_NULL(x176, x177, x178, x179) -> f1554_0_less_leaves_InvokeMethod(x180, x181, x182, x183) :|: -1 <= x181 - 1 && -1 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x181 + 1 <= x177 f1394_0_less_leaves_NULL(x184, x185, x186, x187) -> f1554_0_less_leaves_InvokeMethod(x188, x189, x190, x191) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x189 + 1 <= x185 f1554_0_less_leaves_InvokeMethod(x192, x193, x194, x195) -> f1268_0_append_NONNULL(x196, x197, x198, x199) :|: -1 <= x196 - 1 && -1 <= x193 - 1 && -1 <= x192 - 1 && x196 <= x193 f1554_0_less_leaves_InvokeMethod(x200, x201, x202, x203) -> f1394_0_less_leaves_NULL(x204, x205, x206, x207) :|: -1 <= x206 - 1 && -1 <= x205 - 1 && -1 <= x204 - 1 && -1 <= x201 - 1 && -1 <= x200 - 1 && x206 <= x200 && x204 <= x200 f1554_0_less_leaves_InvokeMethod(x208, x209, x210, x211) -> f1394_0_less_leaves_NULL(x212, x213, x214, x215) :|: -1 <= x214 - 1 && 0 <= x213 - 1 && -1 <= x212 - 1 && -1 <= x209 - 1 && -1 <= x208 - 1 && x214 <= x208 && x212 <= x208 f1268_0_append_NONNULL(x216, x217, x218, x219) -> f1410_0_append_NULL(x220, x221, x222, x223) :|: x222 + 2 <= x216 && -1 <= x221 - 1 && 0 <= x220 - 1 && 0 <= x216 - 1 && x221 + 1 <= x216 && x220 <= x216 f1410_0_append_NULL(x224, x225, x226, x227) -> f1410_0_append_NULL(x228, x229, x230, x231) :|: x230 + 2 <= x225 && x226 + 2 <= x224 && x230 + 4 <= x224 && -1 <= x229 - 1 && 0 <= x228 - 1 && 0 <= x225 - 1 && 2 <= x224 - 1 && x229 + 1 <= x225 && x229 + 3 <= x224 && x228 <= x225 && x228 + 2 <= x224 __init(x232, x233, x234, x235) -> f1_0_main_Load(x236, x237, x238, x239) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: f193_0_createTree_Return(arg1, arg2, arg3, arg4) -> f295_0_main_InvokeMethod(arg1P, arg2P, arg3P, arg4P) :|: arg2 = arg2P && 0 <= arg1P - 1 && 0 <= arg1 - 1 && arg1P <= arg1 f1_0_main_Load(x, x1, x2, x3) -> f295_0_main_InvokeMethod(x4, x5, x6, x7) :|: 0 <= x4 - 1 && 0 <= x - 1 && x4 <= x f1_0_main_Load(x8, x9, x10, x11) -> f2292_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 f508_0_createTree_Return(x16, x17, x18, x19) -> f2292_0_main_InvokeMethod(x20, x21, x22, x23) :|: x19 = x23 && x18 = x22 && x19 + 2 <= x17 && 1 <= x21 - 1 && 0 <= x20 - 1 && 1 <= x17 - 1 && 0 <= x16 - 1 && x21 <= x17 && x20 + 1 <= x17 && x20 <= x16 f295_0_main_InvokeMethod(x24, x25, x26, x27) -> f2302_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 f509_0_createTree_Return(x32, x33, x34, x36) -> f2302_0_main_InvokeMethod(x37, x39, x40, x41) :|: x34 = x40 && x34 + 2 <= x33 && 1 <= x39 - 1 && 0 <= x37 - 1 && 1 <= x33 - 1 && 0 <= x32 - 1 && x39 <= x33 && x37 + 1 <= x33 && x37 <= x32 f1_0_main_Load(x42, x44, x45, x46) -> f548_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f548_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 f2292_0_main_InvokeMethod(x61, x62, x63, x64) -> f548_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 f548_0_random_ArrayAccess(x71, x72, x73, x74) -> f2274_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 f2274_0_createTree_LE(x80, x81, x82, x83) -> f2274_0_createTree_LE(x84, x86, x87, x88) :|: x83 + 1 = x88 && x82 - 1 = x87 && 0 <= x86 - 1 && 0 <= x84 - 1 && 2 <= x81 - 1 && 0 <= x80 - 1 && x86 + 2 <= x81 && x84 <= x80 && 0 <= x82 - 1 && -1 <= x83 - 1 f2274_0_createTree_LE(x89, x90, x91, x93) -> f2274_0_createTree_LE(x94, x95, x96, x97) :|: 0 <= x91 - 1 && 0 <= x98 - 1 && -1 <= x93 - 1 && x94 <= x89 && x95 + 2 <= x90 && 0 <= x89 - 1 && 2 <= x90 - 1 && 0 <= x94 - 1 && 0 <= x95 - 1 && x91 - 1 = x96 && x93 + 1 = x97 f2274_0_createTree_LE(x99, x100, x101, x102) -> f2274_0_createTree_LE(x103, x104, x105, x106) :|: 0 <= x101 - 1 && 0 <= x107 - 1 && -1 <= x102 - 1 && 0 <= x99 - 1 && 1 <= x100 - 1 && 0 <= x103 - 1 && 0 <= x104 - 1 && x101 - 1 = x105 && x102 + 1 = x106 f2274_0_createTree_LE(x109, x110, x111, x112) -> f2274_0_createTree_LE(x113, x114, x115, x116) :|: x112 + 1 = x116 && x111 - 1 = x115 && 0 <= x114 - 1 && 0 <= x113 - 1 && 1 <= x110 - 1 && 0 <= x109 - 1 && 0 <= x111 - 1 && -1 <= x112 - 1 f2274_0_createTree_LE(x117, x118, x119, x120) -> f2274_0_createTree_LE(x121, x122, x123, x124) :|: x120 + 1 = x124 && x119 - 1 = x123 && 3 <= x122 - 1 && 3 <= x121 - 1 && 1 <= x118 - 1 && 1 <= x117 - 1 && x122 - 2 <= x118 && x122 - 2 <= x117 && x121 - 2 <= x118 && x121 - 2 <= x117 && 0 <= x119 - 1 && -1 <= x120 - 1 f2274_0_createTree_LE(x125, x126, x127, x128) -> f2274_0_createTree_LE(x129, x130, x131, x132) :|: 0 <= x127 - 1 && 0 <= x133 - 1 && -1 <= x128 - 1 && x129 - 2 <= x125 && x129 - 2 <= x126 && x130 - 2 <= x125 && x130 - 2 <= x126 && 1 <= x125 - 1 && 1 <= x126 - 1 && 3 <= x129 - 1 && 3 <= x130 - 1 && x127 - 1 = x131 && x128 + 1 = x132 f295_0_main_InvokeMethod(x134, x135, x136, x137) -> f1394_0_less_leaves_NULL(x138, x139, x140, x141) :|: 0 <= x142 - 1 && 0 <= x135 - 1 && x138 + 1 <= x134 && x139 + 1 <= x134 && x140 + 1 <= x134 && 0 <= x134 - 1 && -1 <= x138 - 1 && -1 <= x139 - 1 && -1 <= x140 - 1 f2302_0_main_InvokeMethod(x143, x144, x145, x146) -> f1394_0_less_leaves_NULL(x147, x148, x149, x150) :|: x145 + 2 <= x144 && -1 <= x149 - 1 && 0 <= x148 - 1 && -1 <= x147 - 1 && 0 <= x144 - 1 && 0 <= x143 - 1 && x149 + 1 <= x144 && x149 + 1 <= x143 && x148 <= x144 && x147 + 1 <= x144 && x147 + 1 <= x143 f2292_0_main_InvokeMethod(x151, x152, x153, x154) -> f1394_0_less_leaves_NULL(x155, x156, x157, x158) :|: x155 <= x152 && 0 <= x159 - 1 && x156 + 1 <= x151 && x156 + 1 <= x152 && x157 <= x152 && 0 <= x151 - 1 && 0 <= x152 - 1 && 0 <= x155 - 1 && -1 <= x156 - 1 && 0 <= x157 - 1 && x154 + 2 <= x152 f2292_0_main_InvokeMethod(x160, x161, x162, x163) -> f1394_0_less_leaves_NULL(x164, x165, x166, x167) :|: x163 + 2 <= x161 && 0 <= x166 - 1 && 0 <= x165 - 1 && 0 <= x164 - 1 && 0 <= x161 - 1 && 0 <= x160 - 1 && x166 <= x161 && x164 <= x161 f1394_0_less_leaves_NULL(x168, x169, x170, x171) -> f1268_0_append_NONNULL(x172, x173, x174, x175) :|: -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && x172 + 1 <= x170 && x172 + 1 <= x168 f1394_0_less_leaves_NULL(x176, x177, x178, x179) -> f1554_0_less_leaves_InvokeMethod(x180, x181, x182, x183) :|: -1 <= x181 - 1 && -1 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x181 + 1 <= x177 f1394_0_less_leaves_NULL(x184, x185, x186, x187) -> f1554_0_less_leaves_InvokeMethod(x188, x189, x190, x191) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x189 + 1 <= x185 f1554_0_less_leaves_InvokeMethod(x192, x193, x194, x195) -> f1268_0_append_NONNULL(x196, x197, x198, x199) :|: -1 <= x196 - 1 && -1 <= x193 - 1 && -1 <= x192 - 1 && x196 <= x193 f1554_0_less_leaves_InvokeMethod(x200, x201, x202, x203) -> f1394_0_less_leaves_NULL(x204, x205, x206, x207) :|: -1 <= x206 - 1 && -1 <= x205 - 1 && -1 <= x204 - 1 && -1 <= x201 - 1 && -1 <= x200 - 1 && x206 <= x200 && x204 <= x200 f1554_0_less_leaves_InvokeMethod(x208, x209, x210, x211) -> f1394_0_less_leaves_NULL(x212, x213, x214, x215) :|: -1 <= x214 - 1 && 0 <= x213 - 1 && -1 <= x212 - 1 && -1 <= x209 - 1 && -1 <= x208 - 1 && x214 <= x208 && x212 <= x208 f1268_0_append_NONNULL(x216, x217, x218, x219) -> f1410_0_append_NULL(x220, x221, x222, x223) :|: x222 + 2 <= x216 && -1 <= x221 - 1 && 0 <= x220 - 1 && 0 <= x216 - 1 && x221 + 1 <= x216 && x220 <= x216 f1410_0_append_NULL(x224, x225, x226, x227) -> f1410_0_append_NULL(x228, x229, x230, x231) :|: x230 + 2 <= x225 && x226 + 2 <= x224 && x230 + 4 <= x224 && -1 <= x229 - 1 && 0 <= x228 - 1 && 0 <= x225 - 1 && 2 <= x224 - 1 && x229 + 1 <= x225 && x229 + 3 <= x224 && x228 <= x225 && x228 + 2 <= x224 __init(x232, x233, x234, x235) -> f1_0_main_Load(x236, x237, x238, x239) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f193_0_createTree_Return(arg1, arg2, arg3, arg4) -> f295_0_main_InvokeMethod(arg1P, arg2P, arg3P, arg4P) :|: arg2 = arg2P && 0 <= arg1P - 1 && 0 <= arg1 - 1 && arg1P <= arg1 (2) f1_0_main_Load(x, x1, x2, x3) -> f295_0_main_InvokeMethod(x4, x5, x6, x7) :|: 0 <= x4 - 1 && 0 <= x - 1 && x4 <= x (3) f1_0_main_Load(x8, x9, x10, x11) -> f2292_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 (4) f508_0_createTree_Return(x16, x17, x18, x19) -> f2292_0_main_InvokeMethod(x20, x21, x22, x23) :|: x19 = x23 && x18 = x22 && x19 + 2 <= x17 && 1 <= x21 - 1 && 0 <= x20 - 1 && 1 <= x17 - 1 && 0 <= x16 - 1 && x21 <= x17 && x20 + 1 <= x17 && x20 <= x16 (5) f295_0_main_InvokeMethod(x24, x25, x26, x27) -> f2302_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 (6) f509_0_createTree_Return(x32, x33, x34, x36) -> f2302_0_main_InvokeMethod(x37, x39, x40, x41) :|: x34 = x40 && x34 + 2 <= x33 && 1 <= x39 - 1 && 0 <= x37 - 1 && 1 <= x33 - 1 && 0 <= x32 - 1 && x39 <= x33 && x37 + 1 <= x33 && x37 <= x32 (7) f1_0_main_Load(x42, x44, x45, x46) -> f548_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 (8) f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f548_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 (9) f2292_0_main_InvokeMethod(x61, x62, x63, x64) -> f548_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 (10) f548_0_random_ArrayAccess(x71, x72, x73, x74) -> f2274_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 (11) f2274_0_createTree_LE(x80, x81, x82, x83) -> f2274_0_createTree_LE(x84, x86, x87, x88) :|: x83 + 1 = x88 && x82 - 1 = x87 && 0 <= x86 - 1 && 0 <= x84 - 1 && 2 <= x81 - 1 && 0 <= x80 - 1 && x86 + 2 <= x81 && x84 <= x80 && 0 <= x82 - 1 && -1 <= x83 - 1 (12) f2274_0_createTree_LE(x89, x90, x91, x93) -> f2274_0_createTree_LE(x94, x95, x96, x97) :|: 0 <= x91 - 1 && 0 <= x98 - 1 && -1 <= x93 - 1 && x94 <= x89 && x95 + 2 <= x90 && 0 <= x89 - 1 && 2 <= x90 - 1 && 0 <= x94 - 1 && 0 <= x95 - 1 && x91 - 1 = x96 && x93 + 1 = x97 (13) f2274_0_createTree_LE(x99, x100, x101, x102) -> f2274_0_createTree_LE(x103, x104, x105, x106) :|: 0 <= x101 - 1 && 0 <= x107 - 1 && -1 <= x102 - 1 && 0 <= x99 - 1 && 1 <= x100 - 1 && 0 <= x103 - 1 && 0 <= x104 - 1 && x101 - 1 = x105 && x102 + 1 = x106 (14) f2274_0_createTree_LE(x109, x110, x111, x112) -> f2274_0_createTree_LE(x113, x114, x115, x116) :|: x112 + 1 = x116 && x111 - 1 = x115 && 0 <= x114 - 1 && 0 <= x113 - 1 && 1 <= x110 - 1 && 0 <= x109 - 1 && 0 <= x111 - 1 && -1 <= x112 - 1 (15) f2274_0_createTree_LE(x117, x118, x119, x120) -> f2274_0_createTree_LE(x121, x122, x123, x124) :|: x120 + 1 = x124 && x119 - 1 = x123 && 3 <= x122 - 1 && 3 <= x121 - 1 && 1 <= x118 - 1 && 1 <= x117 - 1 && x122 - 2 <= x118 && x122 - 2 <= x117 && x121 - 2 <= x118 && x121 - 2 <= x117 && 0 <= x119 - 1 && -1 <= x120 - 1 (16) f2274_0_createTree_LE(x125, x126, x127, x128) -> f2274_0_createTree_LE(x129, x130, x131, x132) :|: 0 <= x127 - 1 && 0 <= x133 - 1 && -1 <= x128 - 1 && x129 - 2 <= x125 && x129 - 2 <= x126 && x130 - 2 <= x125 && x130 - 2 <= x126 && 1 <= x125 - 1 && 1 <= x126 - 1 && 3 <= x129 - 1 && 3 <= x130 - 1 && x127 - 1 = x131 && x128 + 1 = x132 (17) f295_0_main_InvokeMethod(x134, x135, x136, x137) -> f1394_0_less_leaves_NULL(x138, x139, x140, x141) :|: 0 <= x142 - 1 && 0 <= x135 - 1 && x138 + 1 <= x134 && x139 + 1 <= x134 && x140 + 1 <= x134 && 0 <= x134 - 1 && -1 <= x138 - 1 && -1 <= x139 - 1 && -1 <= x140 - 1 (18) f2302_0_main_InvokeMethod(x143, x144, x145, x146) -> f1394_0_less_leaves_NULL(x147, x148, x149, x150) :|: x145 + 2 <= x144 && -1 <= x149 - 1 && 0 <= x148 - 1 && -1 <= x147 - 1 && 0 <= x144 - 1 && 0 <= x143 - 1 && x149 + 1 <= x144 && x149 + 1 <= x143 && x148 <= x144 && x147 + 1 <= x144 && x147 + 1 <= x143 (19) f2292_0_main_InvokeMethod(x151, x152, x153, x154) -> f1394_0_less_leaves_NULL(x155, x156, x157, x158) :|: x155 <= x152 && 0 <= x159 - 1 && x156 + 1 <= x151 && x156 + 1 <= x152 && x157 <= x152 && 0 <= x151 - 1 && 0 <= x152 - 1 && 0 <= x155 - 1 && -1 <= x156 - 1 && 0 <= x157 - 1 && x154 + 2 <= x152 (20) f2292_0_main_InvokeMethod(x160, x161, x162, x163) -> f1394_0_less_leaves_NULL(x164, x165, x166, x167) :|: x163 + 2 <= x161 && 0 <= x166 - 1 && 0 <= x165 - 1 && 0 <= x164 - 1 && 0 <= x161 - 1 && 0 <= x160 - 1 && x166 <= x161 && x164 <= x161 (21) f1394_0_less_leaves_NULL(x168, x169, x170, x171) -> f1268_0_append_NONNULL(x172, x173, x174, x175) :|: -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && x172 + 1 <= x170 && x172 + 1 <= x168 (22) f1394_0_less_leaves_NULL(x176, x177, x178, x179) -> f1554_0_less_leaves_InvokeMethod(x180, x181, x182, x183) :|: -1 <= x181 - 1 && -1 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x181 + 1 <= x177 (23) f1394_0_less_leaves_NULL(x184, x185, x186, x187) -> f1554_0_less_leaves_InvokeMethod(x188, x189, x190, x191) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x189 + 1 <= x185 (24) f1554_0_less_leaves_InvokeMethod(x192, x193, x194, x195) -> f1268_0_append_NONNULL(x196, x197, x198, x199) :|: -1 <= x196 - 1 && -1 <= x193 - 1 && -1 <= x192 - 1 && x196 <= x193 (25) f1554_0_less_leaves_InvokeMethod(x200, x201, x202, x203) -> f1394_0_less_leaves_NULL(x204, x205, x206, x207) :|: -1 <= x206 - 1 && -1 <= x205 - 1 && -1 <= x204 - 1 && -1 <= x201 - 1 && -1 <= x200 - 1 && x206 <= x200 && x204 <= x200 (26) f1554_0_less_leaves_InvokeMethod(x208, x209, x210, x211) -> f1394_0_less_leaves_NULL(x212, x213, x214, x215) :|: -1 <= x214 - 1 && 0 <= x213 - 1 && -1 <= x212 - 1 && -1 <= x209 - 1 && -1 <= x208 - 1 && x214 <= x208 && x212 <= x208 (27) f1268_0_append_NONNULL(x216, x217, x218, x219) -> f1410_0_append_NULL(x220, x221, x222, x223) :|: x222 + 2 <= x216 && -1 <= x221 - 1 && 0 <= x220 - 1 && 0 <= x216 - 1 && x221 + 1 <= x216 && x220 <= x216 (28) f1410_0_append_NULL(x224, x225, x226, x227) -> f1410_0_append_NULL(x228, x229, x230, x231) :|: x230 + 2 <= x225 && x226 + 2 <= x224 && x230 + 4 <= x224 && -1 <= x229 - 1 && 0 <= x228 - 1 && 0 <= x225 - 1 && 2 <= x224 - 1 && x229 + 1 <= x225 && x229 + 3 <= x224 && x228 <= x225 && x228 + 2 <= x224 (29) __init(x232, x233, x234, x235) -> f1_0_main_Load(x236, x237, x238, x239) :|: 0 <= 0 Arcs: (1) -> (5), (8), (17) (2) -> (5), (8), (17) (3) -> (9), (19), (20) (4) -> (9), (19), (20) (5) -> (18) (6) -> (18) (7) -> (10) (8) -> (10) (9) -> (10) (10) -> (11), (12), (13), (14), (15), (16) (11) -> (11), (12), (13), (14), (15), (16) (12) -> (11), (12), (13), (14), (15), (16) (13) -> (11), (12), (13), (14), (15), (16) (14) -> (11), (12), (13), (14), (15), (16) (15) -> (11), (12), (13), (14), (15), (16) (16) -> (11), (12), (13), (14), (15), (16) (17) -> (21), (22), (23) (18) -> (21), (22), (23) (19) -> (21), (22), (23) (20) -> (21), (22), (23) (21) -> (27) (22) -> (24), (25), (26) (23) -> (24), (25), (26) (24) -> (27) (25) -> (21), (22), (23) (26) -> (21), (22), (23) (27) -> (28) (28) -> (28) (29) -> (2), (3), (7) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) f2274_0_createTree_LE(x80, x81, x82, x83) -> f2274_0_createTree_LE(x84, x86, x87, x88) :|: x83 + 1 = x88 && x82 - 1 = x87 && 0 <= x86 - 1 && 0 <= x84 - 1 && 2 <= x81 - 1 && 0 <= x80 - 1 && x86 + 2 <= x81 && x84 <= x80 && 0 <= x82 - 1 && -1 <= x83 - 1 (2) f2274_0_createTree_LE(x89, x90, x91, x93) -> f2274_0_createTree_LE(x94, x95, x96, x97) :|: 0 <= x91 - 1 && 0 <= x98 - 1 && -1 <= x93 - 1 && x94 <= x89 && x95 + 2 <= x90 && 0 <= x89 - 1 && 2 <= x90 - 1 && 0 <= x94 - 1 && 0 <= x95 - 1 && x91 - 1 = x96 && x93 + 1 = x97 (3) f2274_0_createTree_LE(x99, x100, x101, x102) -> f2274_0_createTree_LE(x103, x104, x105, x106) :|: 0 <= x101 - 1 && 0 <= x107 - 1 && -1 <= x102 - 1 && 0 <= x99 - 1 && 1 <= x100 - 1 && 0 <= x103 - 1 && 0 <= x104 - 1 && x101 - 1 = x105 && x102 + 1 = x106 (4) f2274_0_createTree_LE(x109, x110, x111, x112) -> f2274_0_createTree_LE(x113, x114, x115, x116) :|: x112 + 1 = x116 && x111 - 1 = x115 && 0 <= x114 - 1 && 0 <= x113 - 1 && 1 <= x110 - 1 && 0 <= x109 - 1 && 0 <= x111 - 1 && -1 <= x112 - 1 (5) f2274_0_createTree_LE(x117, x118, x119, x120) -> f2274_0_createTree_LE(x121, x122, x123, x124) :|: x120 + 1 = x124 && x119 - 1 = x123 && 3 <= x122 - 1 && 3 <= x121 - 1 && 1 <= x118 - 1 && 1 <= x117 - 1 && x122 - 2 <= x118 && x122 - 2 <= x117 && x121 - 2 <= x118 && x121 - 2 <= x117 && 0 <= x119 - 1 && -1 <= x120 - 1 (6) f2274_0_createTree_LE(x125, x126, x127, x128) -> f2274_0_createTree_LE(x129, x130, x131, x132) :|: 0 <= x127 - 1 && 0 <= x133 - 1 && -1 <= x128 - 1 && x129 - 2 <= x125 && x129 - 2 <= x126 && x130 - 2 <= x125 && x130 - 2 <= x126 && 1 <= x125 - 1 && 1 <= x126 - 1 && 3 <= x129 - 1 && 3 <= x130 - 1 && x127 - 1 = x131 && x128 + 1 = x132 Arcs: (1) -> (1), (2), (3), (4), (5), (6) (2) -> (1), (2), (3), (4), (5), (6) (3) -> (1), (2), (3), (4), (5), (6) (4) -> (1), (2), (3), (4), (5), (6) (5) -> (1), (2), (3), (4), (5), (6) (6) -> (1), (2), (3), (4), (5), (6) This digraph is fully evaluated! ---------------------------------------- (6) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (7) Obligation: Rules: f2274_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2274_0_createTree_LE(x84:0, x86:0, x82:0 - 1, x83:0 + 1) :|: x82:0 > 0 && x83:0 > -1 && x84:0 <= x80:0 && x86:0 + 2 <= x81:0 && x80:0 > 0 && x81:0 > 2 && x86:0 > 0 && x84:0 > 0 f2274_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2274_0_createTree_LE(x121:0, x122:0, x119:0 - 1, x120:0 + 1) :|: x119:0 > 0 && x120:0 > -1 && x121:0 - 2 <= x117:0 && x121:0 - 2 <= x118:0 && x122:0 - 2 <= x117:0 && x122:0 - 2 <= x118:0 && x117:0 > 1 && x118:0 > 1 && x122:0 > 3 && x121:0 > 3 f2274_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2274_0_createTree_LE(x129:0, x130:0, x127:0 - 1, x128:0 + 1) :|: x129:0 > 3 && x130:0 > 3 && x126:0 > 1 && x125:0 > 1 && x130:0 - 2 <= x126:0 && x130:0 - 2 <= x125:0 && x129:0 - 2 <= x126:0 && x129:0 - 2 <= x125:0 && x128:0 > -1 && x133:0 > 0 && x127:0 > 0 f2274_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2274_0_createTree_LE(x103:0, x104:0, x101:0 - 1, x102:0 + 1) :|: x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0 f2274_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2274_0_createTree_LE(x113:0, x114:0, x111:0 - 1, x112:0 + 1) :|: x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0 f2274_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2274_0_createTree_LE(x94:0, x95:0, x91:0 - 1, x93:0 + 1) :|: x94:0 > 0 && x95:0 > 0 && x90:0 > 2 && x89:0 > 0 && x95:0 + 2 <= x90:0 && x94:0 <= x89:0 && x93:0 > -1 && x98:0 > 0 && x91:0 > 0 ---------------------------------------- (8) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f2274_0_createTree_LE(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (9) Obligation: Rules: f2274_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2274_0_createTree_LE(x84:0, x86:0, c, c1) :|: c1 = x83:0 + 1 && c = x82:0 - 1 && (x82:0 > 0 && x83:0 > -1 && x84:0 <= x80:0 && x86:0 + 2 <= x81:0 && x80:0 > 0 && x81:0 > 2 && x86:0 > 0 && x84:0 > 0) f2274_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2274_0_createTree_LE(x121:0, x122:0, c2, c3) :|: c3 = x120:0 + 1 && c2 = x119:0 - 1 && (x119:0 > 0 && x120:0 > -1 && x121:0 - 2 <= x117:0 && x121:0 - 2 <= x118:0 && x122:0 - 2 <= x117:0 && x122:0 - 2 <= x118:0 && x117:0 > 1 && x118:0 > 1 && x122:0 > 3 && x121:0 > 3) f2274_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2274_0_createTree_LE(x129:0, x130:0, c4, c5) :|: c5 = x128:0 + 1 && c4 = x127:0 - 1 && (x129:0 > 3 && x130:0 > 3 && x126:0 > 1 && x125:0 > 1 && x130:0 - 2 <= x126:0 && x130:0 - 2 <= x125:0 && x129:0 - 2 <= x126:0 && x129:0 - 2 <= x125:0 && x128:0 > -1 && x133:0 > 0 && x127:0 > 0) f2274_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2274_0_createTree_LE(x103:0, x104:0, c6, c7) :|: c7 = x102:0 + 1 && c6 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2274_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2274_0_createTree_LE(x113:0, x114:0, c8, c9) :|: c9 = x112:0 + 1 && c8 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2274_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2274_0_createTree_LE(x94:0, x95:0, c10, c11) :|: c11 = x93:0 + 1 && c10 = x91:0 - 1 && (x94:0 > 0 && x95:0 > 0 && x90:0 > 2 && x89:0 > 0 && x95:0 + 2 <= x90:0 && x94:0 <= x89:0 && x93:0 > -1 && x98:0 > 0 && x91:0 > 0) ---------------------------------------- (10) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f2274_0_createTree_LE ] = f2274_0_createTree_LE_3 The following rules are decreasing: f2274_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2274_0_createTree_LE(x84:0, x86:0, c, c1) :|: c1 = x83:0 + 1 && c = x82:0 - 1 && (x82:0 > 0 && x83:0 > -1 && x84:0 <= x80:0 && x86:0 + 2 <= x81:0 && x80:0 > 0 && x81:0 > 2 && x86:0 > 0 && x84:0 > 0) f2274_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2274_0_createTree_LE(x121:0, x122:0, c2, c3) :|: c3 = x120:0 + 1 && c2 = x119:0 - 1 && (x119:0 > 0 && x120:0 > -1 && x121:0 - 2 <= x117:0 && x121:0 - 2 <= x118:0 && x122:0 - 2 <= x117:0 && x122:0 - 2 <= x118:0 && x117:0 > 1 && x118:0 > 1 && x122:0 > 3 && x121:0 > 3) f2274_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2274_0_createTree_LE(x129:0, x130:0, c4, c5) :|: c5 = x128:0 + 1 && c4 = x127:0 - 1 && (x129:0 > 3 && x130:0 > 3 && x126:0 > 1 && x125:0 > 1 && x130:0 - 2 <= x126:0 && x130:0 - 2 <= x125:0 && x129:0 - 2 <= x126:0 && x129:0 - 2 <= x125:0 && x128:0 > -1 && x133:0 > 0 && x127:0 > 0) f2274_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2274_0_createTree_LE(x103:0, x104:0, c6, c7) :|: c7 = x102:0 + 1 && c6 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2274_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2274_0_createTree_LE(x113:0, x114:0, c8, c9) :|: c9 = x112:0 + 1 && c8 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2274_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2274_0_createTree_LE(x94:0, x95:0, c10, c11) :|: c11 = x93:0 + 1 && c10 = x91:0 - 1 && (x94:0 > 0 && x95:0 > 0 && x90:0 > 2 && x89:0 > 0 && x95:0 + 2 <= x90:0 && x94:0 <= x89:0 && x93:0 > -1 && x98:0 > 0 && x91:0 > 0) The following rules are bounded: f2274_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2274_0_createTree_LE(x84:0, x86:0, c, c1) :|: c1 = x83:0 + 1 && c = x82:0 - 1 && (x82:0 > 0 && x83:0 > -1 && x84:0 <= x80:0 && x86:0 + 2 <= x81:0 && x80:0 > 0 && x81:0 > 2 && x86:0 > 0 && x84:0 > 0) f2274_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2274_0_createTree_LE(x121:0, x122:0, c2, c3) :|: c3 = x120:0 + 1 && c2 = x119:0 - 1 && (x119:0 > 0 && x120:0 > -1 && x121:0 - 2 <= x117:0 && x121:0 - 2 <= x118:0 && x122:0 - 2 <= x117:0 && x122:0 - 2 <= x118:0 && x117:0 > 1 && x118:0 > 1 && x122:0 > 3 && x121:0 > 3) f2274_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2274_0_createTree_LE(x129:0, x130:0, c4, c5) :|: c5 = x128:0 + 1 && c4 = x127:0 - 1 && (x129:0 > 3 && x130:0 > 3 && x126:0 > 1 && x125:0 > 1 && x130:0 - 2 <= x126:0 && x130:0 - 2 <= x125:0 && x129:0 - 2 <= x126:0 && x129:0 - 2 <= x125:0 && x128:0 > -1 && x133:0 > 0 && x127:0 > 0) f2274_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2274_0_createTree_LE(x103:0, x104:0, c6, c7) :|: c7 = x102:0 + 1 && c6 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2274_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2274_0_createTree_LE(x113:0, x114:0, c8, c9) :|: c9 = x112:0 + 1 && c8 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2274_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2274_0_createTree_LE(x94:0, x95:0, c10, c11) :|: c11 = x93:0 + 1 && c10 = x91:0 - 1 && (x94:0 > 0 && x95:0 > 0 && x90:0 > 2 && x89:0 > 0 && x95:0 + 2 <= x90:0 && x94:0 <= x89:0 && x93:0 > -1 && x98:0 > 0 && x91:0 > 0) ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) f1394_0_less_leaves_NULL(x176, x177, x178, x179) -> f1554_0_less_leaves_InvokeMethod(x180, x181, x182, x183) :|: -1 <= x181 - 1 && -1 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x181 + 1 <= x177 (2) f1554_0_less_leaves_InvokeMethod(x200, x201, x202, x203) -> f1394_0_less_leaves_NULL(x204, x205, x206, x207) :|: -1 <= x206 - 1 && -1 <= x205 - 1 && -1 <= x204 - 1 && -1 <= x201 - 1 && -1 <= x200 - 1 && x206 <= x200 && x204 <= x200 (3) f1394_0_less_leaves_NULL(x184, x185, x186, x187) -> f1554_0_less_leaves_InvokeMethod(x188, x189, x190, x191) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x189 + 1 <= x185 (4) f1554_0_less_leaves_InvokeMethod(x208, x209, x210, x211) -> f1394_0_less_leaves_NULL(x212, x213, x214, x215) :|: -1 <= x214 - 1 && 0 <= x213 - 1 && -1 <= x212 - 1 && -1 <= x209 - 1 && -1 <= x208 - 1 && x214 <= x208 && x212 <= x208 Arcs: (1) -> (2), (4) (2) -> (1), (3) (3) -> (2), (4) (4) -> (1), (3) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: f1394_0_less_leaves_NULL(x184:0, x185:0, x186:0, x187:0) -> f1554_0_less_leaves_InvokeMethod(x188:0, x189:0, x190:0, x191:0) :|: x184:0 > 0 && x189:0 + 1 <= x185:0 && x185:0 > 0 && x186:0 > 0 && x188:0 > 0 && x189:0 > -1 f1554_0_less_leaves_InvokeMethod(x200:0, x201:0, x202:0, x203:0) -> f1394_0_less_leaves_NULL(x204:0, x205:0, x206:0, x207:0) :|: x206:0 <= x200:0 && x204:0 <= x200:0 && x200:0 > -1 && x201:0 > -1 && x204:0 > -1 && x205:0 > -1 && x206:0 > -1 f1554_0_less_leaves_InvokeMethod(x208:0, x209:0, x210:0, x211:0) -> f1394_0_less_leaves_NULL(x212:0, x213:0, x214:0, x215:0) :|: x214:0 <= x208:0 && x212:0 <= x208:0 && x208:0 > -1 && x209:0 > -1 && x212:0 > -1 && x213:0 > 0 && x214:0 > -1 f1394_0_less_leaves_NULL(x176:0, x177:0, x178:0, x179:0) -> f1554_0_less_leaves_InvokeMethod(x180:0, x181:0, x182:0, x183:0) :|: x176:0 > 0 && x181:0 + 1 <= x177:0 && x177:0 > 0 && x178:0 > 0 && x180:0 > -1 && x181:0 > -1 ---------------------------------------- (15) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1394_0_less_leaves_NULL(x1, x2, x3, x4) -> f1394_0_less_leaves_NULL(x1, x2, x3) f1554_0_less_leaves_InvokeMethod(x1, x2, x3, x4) -> f1554_0_less_leaves_InvokeMethod(x1, x2) ---------------------------------------- (16) Obligation: Rules: f1394_0_less_leaves_NULL(x184:0, x185:0, x186:0) -> f1554_0_less_leaves_InvokeMethod(x188:0, x189:0) :|: x184:0 > 0 && x189:0 + 1 <= x185:0 && x185:0 > 0 && x186:0 > 0 && x188:0 > 0 && x189:0 > -1 f1554_0_less_leaves_InvokeMethod(x200:0, x201:0) -> f1394_0_less_leaves_NULL(x204:0, x205:0, x206:0) :|: x206:0 <= x200:0 && x204:0 <= x200:0 && x200:0 > -1 && x201:0 > -1 && x204:0 > -1 && x205:0 > -1 && x206:0 > -1 f1554_0_less_leaves_InvokeMethod(x208:0, x209:0) -> f1394_0_less_leaves_NULL(x212:0, x213:0, x214:0) :|: x214:0 <= x208:0 && x212:0 <= x208:0 && x208:0 > -1 && x209:0 > -1 && x212:0 > -1 && x213:0 > 0 && x214:0 > -1 f1394_0_less_leaves_NULL(x176:0, x177:0, x178:0) -> f1554_0_less_leaves_InvokeMethod(x180:0, x181:0) :|: x176:0 > 0 && x181:0 + 1 <= x177:0 && x177:0 > 0 && x178:0 > 0 && x180:0 > -1 && x181:0 > -1 ---------------------------------------- (17) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f1394_0_less_leaves_NULL(INTEGER, INTEGER, INTEGER) f1554_0_less_leaves_InvokeMethod(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (18) Obligation: Rules: f1394_0_less_leaves_NULL(x184:0, x185:0, x186:0) -> f1554_0_less_leaves_InvokeMethod(x188:0, x189:0) :|: x184:0 > 0 && x189:0 + 1 <= x185:0 && x185:0 > 0 && x186:0 > 0 && x188:0 > 0 && x189:0 > -1 f1554_0_less_leaves_InvokeMethod(x200:0, x201:0) -> f1394_0_less_leaves_NULL(x204:0, x205:0, x206:0) :|: x206:0 <= x200:0 && x204:0 <= x200:0 && x200:0 > -1 && x201:0 > -1 && x204:0 > -1 && x205:0 > -1 && x206:0 > -1 f1554_0_less_leaves_InvokeMethod(x208:0, x209:0) -> f1394_0_less_leaves_NULL(x212:0, x213:0, x214:0) :|: x214:0 <= x208:0 && x212:0 <= x208:0 && x208:0 > -1 && x209:0 > -1 && x212:0 > -1 && x213:0 > 0 && x214:0 > -1 f1394_0_less_leaves_NULL(x176:0, x177:0, x178:0) -> f1554_0_less_leaves_InvokeMethod(x180:0, x181:0) :|: x176:0 > 0 && x181:0 + 1 <= x177:0 && x177:0 > 0 && x178:0 > 0 && x180:0 > -1 && x181:0 > -1 ---------------------------------------- (19) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (20) Obligation: Rules: f1394_0_less_leaves_NULL(x176:0:0, x177:0:0, x178:0:0) -> f1554_0_less_leaves_InvokeMethod(x180:0:0, x181:0:0) :|: x180:0:0 > -1 && x181:0:0 > -1 && x178:0:0 > 0 && x177:0:0 > 0 && x181:0:0 + 1 <= x177:0:0 && x176:0:0 > 0 f1554_0_less_leaves_InvokeMethod(x208:0:0, x209:0:0) -> f1394_0_less_leaves_NULL(x212:0:0, x213:0:0, x214:0:0) :|: x213:0:0 > 0 && x214:0:0 > -1 && x212:0:0 > -1 && x209:0:0 > -1 && x208:0:0 > -1 && x212:0:0 <= x208:0:0 && x214:0:0 <= x208:0:0 f1554_0_less_leaves_InvokeMethod(x200:0:0, x201:0:0) -> f1394_0_less_leaves_NULL(x204:0:0, x205:0:0, x206:0:0) :|: x205:0:0 > -1 && x206:0:0 > -1 && x204:0:0 > -1 && x201:0:0 > -1 && x200:0:0 > -1 && x204:0:0 <= x200:0:0 && x206:0:0 <= x200:0:0 f1394_0_less_leaves_NULL(x184:0:0, x185:0:0, x186:0:0) -> f1554_0_less_leaves_InvokeMethod(x188:0:0, x189:0:0) :|: x188:0:0 > 0 && x189:0:0 > -1 && x186:0:0 > 0 && x185:0:0 > 0 && x189:0:0 + 1 <= x185:0:0 && x184:0:0 > 0 ---------------------------------------- (21) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x176:0:0, x177:0:0, x178:0:0) -> f(2, x180:0:0, x181:0:0, z) :|: pc = 1 && (x180:0:0 > -1 && x181:0:0 > -1 && x178:0:0 > 0 && x177:0:0 > 0 && x181:0:0 + 1 <= x177:0:0 && x176:0:0 > 0) f(pc, x208:0:0, x209:0:0, y) -> f(1, x212:0:0, x213:0:0, x214:0:0) :|: pc = 2 && (x213:0:0 > 0 && x214:0:0 > -1 && x212:0:0 > -1 && x209:0:0 > -1 && x208:0:0 > -1 && x212:0:0 <= x208:0:0 && x214:0:0 <= x208:0:0) f(pc, x200:0:0, x201:0:0, y) -> f(1, x204:0:0, x205:0:0, x206:0:0) :|: pc = 2 && (x205:0:0 > -1 && x206:0:0 > -1 && x204:0:0 > -1 && x201:0:0 > -1 && x200:0:0 > -1 && x204:0:0 <= x200:0:0 && x206:0:0 <= x200:0:0) f(pc, x184:0:0, x185:0:0, x186:0:0) -> f(2, x188:0:0, x189:0:0, z) :|: pc = 1 && (x188:0:0 > 0 && x189:0:0 > -1 && x186:0:0 > 0 && x185:0:0 > 0 && x189:0:0 + 1 <= x185:0:0 && x184:0:0 > 0) Witness term starting non-terminating reduction: f(1, 6, 4, 4) ---------------------------------------- (22) NO ---------------------------------------- (23) Obligation: Termination digraph: Nodes: (1) f1410_0_append_NULL(x224, x225, x226, x227) -> f1410_0_append_NULL(x228, x229, x230, x231) :|: x230 + 2 <= x225 && x226 + 2 <= x224 && x230 + 4 <= x224 && -1 <= x229 - 1 && 0 <= x228 - 1 && 0 <= x225 - 1 && 2 <= x224 - 1 && x229 + 1 <= x225 && x229 + 3 <= x224 && x228 <= x225 && x228 + 2 <= x224 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (24) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (25) Obligation: Rules: f1410_0_append_NULL(x224:0, x225:0, x226:0, x227:0) -> f1410_0_append_NULL(x228:0, x229:0, x230:0, x231:0) :|: x228:0 <= x225:0 && x228:0 + 2 <= x224:0 && x229:0 + 3 <= x224:0 && x229:0 + 1 <= x225:0 && x224:0 > 2 && x225:0 > 0 && x228:0 > 0 && x229:0 > -1 && x230:0 + 4 <= x224:0 && x226:0 + 2 <= x224:0 && x230:0 + 2 <= x225:0 ---------------------------------------- (26) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1410_0_append_NULL(x1, x2, x3, x4) -> f1410_0_append_NULL(x1, x2, x3) ---------------------------------------- (27) Obligation: Rules: f1410_0_append_NULL(x224:0, x225:0, x226:0) -> f1410_0_append_NULL(x228:0, x229:0, x230:0) :|: x228:0 <= x225:0 && x228:0 + 2 <= x224:0 && x229:0 + 3 <= x224:0 && x229:0 + 1 <= x225:0 && x224:0 > 2 && x225:0 > 0 && x228:0 > 0 && x229:0 > -1 && x230:0 + 4 <= x224:0 && x226:0 + 2 <= x224:0 && x230:0 + 2 <= x225:0 ---------------------------------------- (28) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f1410_0_append_NULL(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (29) Obligation: Rules: f1410_0_append_NULL(x224:0, x225:0, x226:0) -> f1410_0_append_NULL(x228:0, x229:0, x230:0) :|: x228:0 <= x225:0 && x228:0 + 2 <= x224:0 && x229:0 + 3 <= x224:0 && x229:0 + 1 <= x225:0 && x224:0 > 2 && x225:0 > 0 && x228:0 > 0 && x229:0 > -1 && x230:0 + 4 <= x224:0 && x226:0 + 2 <= x224:0 && x230:0 + 2 <= x225:0 ---------------------------------------- (30) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (31) Obligation: Rules: f1410_0_append_NULL(x224:0:0, x225:0:0, x226:0:0) -> f1410_0_append_NULL(x228:0:0, x229:0:0, x230:0:0) :|: x226:0:0 + 2 <= x224:0:0 && x230:0:0 + 2 <= x225:0:0 && x230:0:0 + 4 <= x224:0:0 && x229:0:0 > -1 && x228:0:0 > 0 && x225:0:0 > 0 && x224:0:0 > 2 && x229:0:0 + 1 <= x225:0:0 && x229:0:0 + 3 <= x224:0:0 && x228:0:0 + 2 <= x224:0:0 && x228:0:0 <= x225:0:0 ---------------------------------------- (32) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1410_0_append_NULL(x, x1, x2)] = -2 + x + x1 The following rules are decreasing: f1410_0_append_NULL(x224:0:0, x225:0:0, x226:0:0) -> f1410_0_append_NULL(x228:0:0, x229:0:0, x230:0:0) :|: x226:0:0 + 2 <= x224:0:0 && x230:0:0 + 2 <= x225:0:0 && x230:0:0 + 4 <= x224:0:0 && x229:0:0 > -1 && x228:0:0 > 0 && x225:0:0 > 0 && x224:0:0 > 2 && x229:0:0 + 1 <= x225:0:0 && x229:0:0 + 3 <= x224:0:0 && x228:0:0 + 2 <= x224:0:0 && x228:0:0 <= x225:0:0 The following rules are bounded: f1410_0_append_NULL(x224:0:0, x225:0:0, x226:0:0) -> f1410_0_append_NULL(x228:0:0, x229:0:0, x230:0:0) :|: x226:0:0 + 2 <= x224:0:0 && x230:0:0 + 2 <= x225:0:0 && x230:0:0 + 4 <= x224:0:0 && x229:0:0 > -1 && x228:0:0 > 0 && x225:0:0 > 0 && x224:0:0 > 2 && x229:0:0 + 1 <= x225:0:0 && x229:0:0 + 3 <= x224:0:0 && x228:0:0 + 2 <= x224:0:0 && x228:0:0 <= x225:0:0 ---------------------------------------- (33) YES