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, 5831 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 0 ms] (7) IRSwT (8) TempFilterProof [SOUND, 91 ms] (9) IntTRS (10) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (11) YES (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 0 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, 0 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) RankingReductionPairProof [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) -> f2344_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 f511_0_createTree_Return(x16, x17, x18, x19) -> f2344_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) -> f2354_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 f512_0_createTree_Return(x32, x33, x34, x36) -> f2354_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) -> f551_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f551_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 f2344_0_main_InvokeMethod(x61, x62, x63, x64) -> f551_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 f551_0_random_ArrayAccess(x71, x72, x73, x74) -> f2326_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 f2326_0_createTree_LE(x80, x81, x82, x83) -> f2326_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 f2326_0_createTree_LE(x89, x90, x91, x93) -> f2326_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 f2326_0_createTree_LE(x99, x100, x101, x102) -> f2326_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 f2326_0_createTree_LE(x109, x110, x111, x112) -> f2326_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 f2326_0_createTree_LE(x117, x118, x119, x120) -> f2326_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 f2326_0_createTree_LE(x125, x126, x127, x128) -> f2326_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) -> f1431_0_samefringe_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 f2354_0_main_InvokeMethod(x143, x144, x145, x146) -> f1431_0_samefringe_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 f2344_0_main_InvokeMethod(x151, x152, x153, x154) -> f1431_0_samefringe_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 f2344_0_main_InvokeMethod(x160, x161, x162, x163) -> f1431_0_samefringe_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 f1431_0_samefringe_NULL(x168, x169, x170, x171) -> f1431_0_samefringe_NULL(x172, x173, x174, x175) :|: -1 <= x174 - 1 && -1 <= x173 - 1 && -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 f1431_0_samefringe_NULL(x176, x177, x178, x179) -> f1838_0_gopher_NULL(x180, x181, x182, x183) :|: -1 <= x182 - 1 && 0 <= x181 - 1 && 0 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x182 + 1 <= x178 && x182 + 1 <= x176 && x181 <= x178 && x181 <= x176 && x180 <= x178 && x180 <= x176 f1431_0_samefringe_NULL(x184, x185, x186, x187) -> f1838_0_gopher_NULL(x188, x189, x190, x191) :|: -1 <= x190 - 1 && 0 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x190 + 1 <= x185 && x189 <= x185 && x188 <= x185 f1838_0_gopher_NULL(x192, x193, x194, x195) -> f1838_0_gopher_NULL(x196, x197, x198, x199) :|: -1 <= x198 - 1 && 2 <= x197 - 1 && 0 <= x196 - 1 && 0 <= x194 - 1 && 2 <= x193 - 1 && 0 <= x192 - 1 && x198 + 1 <= x194 && x198 + 3 <= x193 && x197 - 2 <= x193 && x196 <= x192 __init(x200, x201, x202, x203) -> f1_0_main_Load(x204, x205, x206, x207) :|: 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) -> f2344_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 f511_0_createTree_Return(x16, x17, x18, x19) -> f2344_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) -> f2354_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 f512_0_createTree_Return(x32, x33, x34, x36) -> f2354_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) -> f551_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f551_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 f2344_0_main_InvokeMethod(x61, x62, x63, x64) -> f551_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 f551_0_random_ArrayAccess(x71, x72, x73, x74) -> f2326_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 f2326_0_createTree_LE(x80, x81, x82, x83) -> f2326_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 f2326_0_createTree_LE(x89, x90, x91, x93) -> f2326_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 f2326_0_createTree_LE(x99, x100, x101, x102) -> f2326_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 f2326_0_createTree_LE(x109, x110, x111, x112) -> f2326_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 f2326_0_createTree_LE(x117, x118, x119, x120) -> f2326_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 f2326_0_createTree_LE(x125, x126, x127, x128) -> f2326_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) -> f1431_0_samefringe_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 f2354_0_main_InvokeMethod(x143, x144, x145, x146) -> f1431_0_samefringe_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 f2344_0_main_InvokeMethod(x151, x152, x153, x154) -> f1431_0_samefringe_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 f2344_0_main_InvokeMethod(x160, x161, x162, x163) -> f1431_0_samefringe_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 f1431_0_samefringe_NULL(x168, x169, x170, x171) -> f1431_0_samefringe_NULL(x172, x173, x174, x175) :|: -1 <= x174 - 1 && -1 <= x173 - 1 && -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 f1431_0_samefringe_NULL(x176, x177, x178, x179) -> f1838_0_gopher_NULL(x180, x181, x182, x183) :|: -1 <= x182 - 1 && 0 <= x181 - 1 && 0 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x182 + 1 <= x178 && x182 + 1 <= x176 && x181 <= x178 && x181 <= x176 && x180 <= x178 && x180 <= x176 f1431_0_samefringe_NULL(x184, x185, x186, x187) -> f1838_0_gopher_NULL(x188, x189, x190, x191) :|: -1 <= x190 - 1 && 0 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x190 + 1 <= x185 && x189 <= x185 && x188 <= x185 f1838_0_gopher_NULL(x192, x193, x194, x195) -> f1838_0_gopher_NULL(x196, x197, x198, x199) :|: -1 <= x198 - 1 && 2 <= x197 - 1 && 0 <= x196 - 1 && 0 <= x194 - 1 && 2 <= x193 - 1 && 0 <= x192 - 1 && x198 + 1 <= x194 && x198 + 3 <= x193 && x197 - 2 <= x193 && x196 <= x192 __init(x200, x201, x202, x203) -> f1_0_main_Load(x204, x205, x206, x207) :|: 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) -> f2344_0_main_InvokeMethod(x12, x13, x14, x15) :|: 0 <= x13 - 1 && 0 <= x12 - 1 && 0 <= x8 - 1 && x12 <= x8 (4) f511_0_createTree_Return(x16, x17, x18, x19) -> f2344_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) -> f2354_0_main_InvokeMethod(x28, x29, x30, x31) :|: 0 <= x29 - 1 && 0 <= x28 - 1 && 0 <= x24 - 1 && 0 <= x25 - 1 && x28 <= x24 (6) f512_0_createTree_Return(x32, x33, x34, x36) -> f2354_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) -> f551_0_random_ArrayAccess(x47, x48, x49, x50) :|: -1 <= x44 - 1 && 0 <= x42 - 1 (8) f295_0_main_InvokeMethod(x51, x52, x53, x54) -> f551_0_random_ArrayAccess(x55, x56, x57, x58) :|: -1 <= x60 - 1 && 0 <= x52 - 1 && 0 <= x51 - 1 (9) f2344_0_main_InvokeMethod(x61, x62, x63, x64) -> f551_0_random_ArrayAccess(x65, x67, x68, x69) :|: 0 <= x61 - 1 && -1 <= x70 - 1 && 0 <= x62 - 1 && x64 + 2 <= x62 (10) f551_0_random_ArrayAccess(x71, x72, x73, x74) -> f2326_0_createTree_LE(x75, x76, x77, x78) :|: 0 <= x77 - 1 && -1 <= x79 - 1 && 1 <= x76 - 1 && 1 <= x75 - 1 && x79 + 1 = x78 (11) f2326_0_createTree_LE(x80, x81, x82, x83) -> f2326_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) f2326_0_createTree_LE(x89, x90, x91, x93) -> f2326_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) f2326_0_createTree_LE(x99, x100, x101, x102) -> f2326_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) f2326_0_createTree_LE(x109, x110, x111, x112) -> f2326_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) f2326_0_createTree_LE(x117, x118, x119, x120) -> f2326_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) f2326_0_createTree_LE(x125, x126, x127, x128) -> f2326_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) -> f1431_0_samefringe_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) f2354_0_main_InvokeMethod(x143, x144, x145, x146) -> f1431_0_samefringe_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) f2344_0_main_InvokeMethod(x151, x152, x153, x154) -> f1431_0_samefringe_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) f2344_0_main_InvokeMethod(x160, x161, x162, x163) -> f1431_0_samefringe_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) f1431_0_samefringe_NULL(x168, x169, x170, x171) -> f1431_0_samefringe_NULL(x172, x173, x174, x175) :|: -1 <= x174 - 1 && -1 <= x173 - 1 && -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 (22) f1431_0_samefringe_NULL(x176, x177, x178, x179) -> f1838_0_gopher_NULL(x180, x181, x182, x183) :|: -1 <= x182 - 1 && 0 <= x181 - 1 && 0 <= x180 - 1 && 0 <= x178 - 1 && 0 <= x177 - 1 && 0 <= x176 - 1 && x182 + 1 <= x178 && x182 + 1 <= x176 && x181 <= x178 && x181 <= x176 && x180 <= x178 && x180 <= x176 (23) f1431_0_samefringe_NULL(x184, x185, x186, x187) -> f1838_0_gopher_NULL(x188, x189, x190, x191) :|: -1 <= x190 - 1 && 0 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x186 - 1 && 0 <= x185 - 1 && 0 <= x184 - 1 && x190 + 1 <= x185 && x189 <= x185 && x188 <= x185 (24) f1838_0_gopher_NULL(x192, x193, x194, x195) -> f1838_0_gopher_NULL(x196, x197, x198, x199) :|: -1 <= x198 - 1 && 2 <= x197 - 1 && 0 <= x196 - 1 && 0 <= x194 - 1 && 2 <= x193 - 1 && 0 <= x192 - 1 && x198 + 1 <= x194 && x198 + 3 <= x193 && x197 - 2 <= x193 && x196 <= x192 (25) __init(x200, x201, x202, x203) -> f1_0_main_Load(x204, x205, x206, x207) :|: 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) -> (21), (22), (23) (22) -> (24) (23) -> (24) (24) -> (24) (25) -> (2), (3), (7) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) f2326_0_createTree_LE(x80, x81, x82, x83) -> f2326_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) f2326_0_createTree_LE(x89, x90, x91, x93) -> f2326_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) f2326_0_createTree_LE(x99, x100, x101, x102) -> f2326_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) f2326_0_createTree_LE(x109, x110, x111, x112) -> f2326_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) f2326_0_createTree_LE(x117, x118, x119, x120) -> f2326_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) f2326_0_createTree_LE(x125, x126, x127, x128) -> f2326_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: f2326_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2326_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 f2326_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2326_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 f2326_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2326_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 f2326_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2326_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 f2326_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2326_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 f2326_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2326_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 ---------------------------------------- (8) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f2326_0_createTree_LE(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (9) Obligation: Rules: f2326_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2326_0_createTree_LE(x121:0, x122:0, c, c1) :|: c1 = x120:0 + 1 && c = 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) f2326_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2326_0_createTree_LE(x129:0, x130:0, c2, c3) :|: c3 = x128:0 + 1 && c2 = 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) f2326_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2326_0_createTree_LE(x94:0, x95:0, c4, c5) :|: c5 = x93:0 + 1 && c4 = 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) f2326_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2326_0_createTree_LE(x113:0, x114:0, c6, c7) :|: c7 = x112:0 + 1 && c6 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2326_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2326_0_createTree_LE(x103:0, x104:0, c8, c9) :|: c9 = x102:0 + 1 && c8 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2326_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2326_0_createTree_LE(x84:0, x86:0, c10, c11) :|: c11 = x83:0 + 1 && c10 = 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) ---------------------------------------- (10) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f2326_0_createTree_LE(x, x1, x2, x3)] = x2 The following rules are decreasing: f2326_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2326_0_createTree_LE(x121:0, x122:0, c, c1) :|: c1 = x120:0 + 1 && c = 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) f2326_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2326_0_createTree_LE(x129:0, x130:0, c2, c3) :|: c3 = x128:0 + 1 && c2 = 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) f2326_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2326_0_createTree_LE(x94:0, x95:0, c4, c5) :|: c5 = x93:0 + 1 && c4 = 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) f2326_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2326_0_createTree_LE(x113:0, x114:0, c6, c7) :|: c7 = x112:0 + 1 && c6 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2326_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2326_0_createTree_LE(x103:0, x104:0, c8, c9) :|: c9 = x102:0 + 1 && c8 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2326_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2326_0_createTree_LE(x84:0, x86:0, c10, c11) :|: c11 = x83:0 + 1 && c10 = 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) The following rules are bounded: f2326_0_createTree_LE(x117:0, x118:0, x119:0, x120:0) -> f2326_0_createTree_LE(x121:0, x122:0, c, c1) :|: c1 = x120:0 + 1 && c = 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) f2326_0_createTree_LE(x125:0, x126:0, x127:0, x128:0) -> f2326_0_createTree_LE(x129:0, x130:0, c2, c3) :|: c3 = x128:0 + 1 && c2 = 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) f2326_0_createTree_LE(x89:0, x90:0, x91:0, x93:0) -> f2326_0_createTree_LE(x94:0, x95:0, c4, c5) :|: c5 = x93:0 + 1 && c4 = 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) f2326_0_createTree_LE(x109:0, x110:0, x111:0, x112:0) -> f2326_0_createTree_LE(x113:0, x114:0, c6, c7) :|: c7 = x112:0 + 1 && c6 = x111:0 - 1 && (x111:0 > 0 && x112:0 > -1 && x109:0 > 0 && x110:0 > 1 && x114:0 > 0 && x113:0 > 0) f2326_0_createTree_LE(x99:0, x100:0, x101:0, x102:0) -> f2326_0_createTree_LE(x103:0, x104:0, c8, c9) :|: c9 = x102:0 + 1 && c8 = x101:0 - 1 && (x103:0 > 0 && x104:0 > 0 && x100:0 > 1 && x99:0 > 0 && x102:0 > -1 && x107:0 > 0 && x101:0 > 0) f2326_0_createTree_LE(x80:0, x81:0, x82:0, x83:0) -> f2326_0_createTree_LE(x84:0, x86:0, c10, c11) :|: c11 = x83:0 + 1 && c10 = 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) ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) f1431_0_samefringe_NULL(x168, x169, x170, x171) -> f1431_0_samefringe_NULL(x172, x173, x174, x175) :|: -1 <= x174 - 1 && -1 <= x173 - 1 && -1 <= x172 - 1 && 0 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: f1431_0_samefringe_NULL(x168:0, x169:0, x170:0, x171:0) -> f1431_0_samefringe_NULL(x172:0, x173:0, x174:0, x175:0) :|: x169:0 > 0 && x168:0 > 0 && x170:0 > 0 && x172:0 > -1 && x173:0 > -1 && x174:0 > -1 ---------------------------------------- (15) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1431_0_samefringe_NULL(x1, x2, x3, x4) -> f1431_0_samefringe_NULL(x1, x2, x3) ---------------------------------------- (16) Obligation: Rules: f1431_0_samefringe_NULL(x168:0, x169:0, x170:0) -> f1431_0_samefringe_NULL(x172:0, x173:0, x174:0) :|: x169:0 > 0 && x168:0 > 0 && x170:0 > 0 && x172:0 > -1 && x173:0 > -1 && x174:0 > -1 ---------------------------------------- (17) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f1431_0_samefringe_NULL(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (18) Obligation: Rules: f1431_0_samefringe_NULL(x168:0, x169:0, x170:0) -> f1431_0_samefringe_NULL(x172:0, x173:0, x174:0) :|: x169:0 > 0 && x168:0 > 0 && x170:0 > 0 && x172:0 > -1 && x173:0 > -1 && x174:0 > -1 ---------------------------------------- (19) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (20) Obligation: Rules: f1431_0_samefringe_NULL(x168:0:0, x169:0:0, x170:0:0) -> f1431_0_samefringe_NULL(x172:0:0, x173:0:0, x174:0:0) :|: x173:0:0 > -1 && x174:0:0 > -1 && x172:0:0 > -1 && x170:0:0 > 0 && x168:0:0 > 0 && x169:0:0 > 0 ---------------------------------------- (21) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x168:0:0, x169:0:0, x170:0:0) -> f(1, x172:0:0, x173:0:0, x174:0:0) :|: pc = 1 && (x173:0:0 > -1 && x174:0:0 > -1 && x172:0:0 > -1 && x170:0:0 > 0 && x168:0:0 > 0 && x169:0:0 > 0) Witness term starting non-terminating reduction: f(1, 15, 15, 15) ---------------------------------------- (22) NO ---------------------------------------- (23) Obligation: Termination digraph: Nodes: (1) f1838_0_gopher_NULL(x192, x193, x194, x195) -> f1838_0_gopher_NULL(x196, x197, x198, x199) :|: -1 <= x198 - 1 && 2 <= x197 - 1 && 0 <= x196 - 1 && 0 <= x194 - 1 && 2 <= x193 - 1 && 0 <= x192 - 1 && x198 + 1 <= x194 && x198 + 3 <= x193 && x197 - 2 <= x193 && x196 <= x192 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (24) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (25) Obligation: Rules: f1838_0_gopher_NULL(x192:0, x193:0, x194:0, x195:0) -> f1838_0_gopher_NULL(x196:0, x197:0, x198:0, x199:0) :|: x197:0 - 2 <= x193:0 && x196:0 <= x192:0 && x198:0 + 3 <= x193:0 && x198:0 + 1 <= x194:0 && x192:0 > 0 && x193:0 > 2 && x194:0 > 0 && x196:0 > 0 && x197:0 > 2 && x198:0 > -1 ---------------------------------------- (26) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1838_0_gopher_NULL(x1, x2, x3, x4) -> f1838_0_gopher_NULL(x1, x2, x3) ---------------------------------------- (27) Obligation: Rules: f1838_0_gopher_NULL(x192:0, x193:0, x194:0) -> f1838_0_gopher_NULL(x196:0, x197:0, x198:0) :|: x197:0 - 2 <= x193:0 && x196:0 <= x192:0 && x198:0 + 3 <= x193:0 && x198:0 + 1 <= x194:0 && x192:0 > 0 && x193:0 > 2 && x194:0 > 0 && x196:0 > 0 && x197:0 > 2 && x198:0 > -1 ---------------------------------------- (28) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f1838_0_gopher_NULL(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (29) Obligation: Rules: f1838_0_gopher_NULL(x192:0, x193:0, x194:0) -> f1838_0_gopher_NULL(x196:0, x197:0, x198:0) :|: x197:0 - 2 <= x193:0 && x196:0 <= x192:0 && x198:0 + 3 <= x193:0 && x198:0 + 1 <= x194:0 && x192:0 > 0 && x193:0 > 2 && x194:0 > 0 && x196:0 > 0 && x197:0 > 2 && x198:0 > -1 ---------------------------------------- (30) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (31) Obligation: Rules: f1838_0_gopher_NULL(x192:0:0, x193:0:0, x194:0:0) -> f1838_0_gopher_NULL(x196:0:0, x197:0:0, x198:0:0) :|: x197:0:0 > 2 && x198:0:0 > -1 && x196:0:0 > 0 && x194:0:0 > 0 && x193:0:0 > 2 && x192:0:0 > 0 && x198:0:0 + 1 <= x194:0:0 && x198:0:0 + 3 <= x193:0:0 && x196:0:0 <= x192:0:0 && x197:0:0 - 2 <= x193:0:0 ---------------------------------------- (32) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1838_0_gopher_NULL ] = f1838_0_gopher_NULL_3 The following rules are decreasing: f1838_0_gopher_NULL(x192:0:0, x193:0:0, x194:0:0) -> f1838_0_gopher_NULL(x196:0:0, x197:0:0, x198:0:0) :|: x197:0:0 > 2 && x198:0:0 > -1 && x196:0:0 > 0 && x194:0:0 > 0 && x193:0:0 > 2 && x192:0:0 > 0 && x198:0:0 + 1 <= x194:0:0 && x198:0:0 + 3 <= x193:0:0 && x196:0:0 <= x192:0:0 && x197:0:0 - 2 <= x193:0:0 The following rules are bounded: f1838_0_gopher_NULL(x192:0:0, x193:0:0, x194:0:0) -> f1838_0_gopher_NULL(x196:0:0, x197:0:0, x198:0:0) :|: x197:0:0 > 2 && x198:0:0 > -1 && x196:0:0 > 0 && x194:0:0 > 0 && x193:0:0 > 2 && x192:0:0 > 0 && x198:0:0 + 1 <= x194:0:0 && x198:0:0 + 3 <= x193:0:0 && x196:0:0 <= x192:0:0 && x197:0:0 - 2 <= x193:0:0 ---------------------------------------- (33) YES