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, 4524 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 0 ms] (7) IRSwT (8) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (9) IRSwT (10) TempFilterProof [SOUND, 32 ms] (11) IntTRS (12) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (13) YES (14) IRSwT (15) IntTRSCompressionProof [EQUIVALENT, 30 ms] (16) IRSwT (17) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (18) IRSwT (19) FilterProof [EQUIVALENT, 0 ms] (20) IntTRS (21) IntTRSCompressionProof [EQUIVALENT, 0 ms] (22) IntTRS (23) IntTRSPeriodicNontermProof [COMPLETE, 142 ms] (24) NO (25) IRSwT (26) IntTRSCompressionProof [EQUIVALENT, 0 ms] (27) IRSwT (28) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (29) IRSwT (30) FilterProof [EQUIVALENT, 0 ms] (31) IntTRS (32) IntTRSCompressionProof [EQUIVALENT, 0 ms] (33) IntTRS (34) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (35) YES (36) IRSwT (37) IntTRSCompressionProof [EQUIVALENT, 0 ms] (38) IRSwT (39) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (40) IRSwT (41) FilterProof [EQUIVALENT, 0 ms] (42) IntTRS (43) IntTRSCompressionProof [EQUIVALENT, 0 ms] (44) IntTRS (45) RankingReductionPairProof [EQUIVALENT, 0 ms] (46) YES ---------------------------------------- (0) Obligation: Rules: f1_0_main_New(arg1, arg2, arg3, arg4, arg5) -> f155_0_main_ArrayAccess(arg1P, arg2P, arg3P, arg4P, arg5P) :|: -1 <= x4 - 1 && 0 <= arg2 - 1 && arg2P <= arg1 && 0 <= arg1 - 1 && 2 <= arg1P - 1 && 0 <= arg2P - 1 && arg2 = arg3P f1_0_main_New(x, x1, x2, x3, x5) -> f155_0_main_ArrayAccess(x6, x7, x8, x9, x10) :|: x1 = x8 && 0 <= x7 - 1 && 1 <= x6 - 1 && 0 <= x - 1 && x7 <= x && 0 <= x1 - 1 && x6 - 1 <= x f155_0_main_ArrayAccess(x11, x12, x13, x14, x15) -> f201_0_main_InvokeMethod(x16, x17, x18, x19, x20) :|: x13 = x19 && x20 + 2 <= x11 && 1 <= x18 - 1 && 0 <= x17 - 1 && 0 <= x16 - 1 && 0 <= x12 - 1 && 0 <= x11 - 1 && x18 - 1 <= x12 && x18 - 1 <= x11 && x17 <= x11 && x16 <= x12 && 1 <= x13 - 1 && x16 <= x11 f155_0_main_ArrayAccess(x21, x22, x24, x25, x26) -> f201_0_main_InvokeMethod(x27, x28, x29, x30, x31) :|: -1 <= x32 - 1 && 1 <= x24 - 1 && x27 <= x21 && x27 <= x22 && x28 <= x21 && 0 <= x21 - 1 && 0 <= x22 - 1 && 0 <= x27 - 1 && 0 <= x28 - 1 && 2 <= x29 - 1 && x31 + 2 <= x21 && x24 = x30 f1_0_main_New(x33, x34, x35, x36, x37) -> f69_0__init__GT(x38, x39, x40, x41, x42) :|: 0 <= x33 - 1 && 0 <= x34 - 1 && -1 <= x38 - 1 f155_0_main_ArrayAccess(x43, x44, x45, x46, x47) -> f69_0__init__GT(x48, x49, x50, x51, x52) :|: 0 <= x44 - 1 && 0 <= x43 - 1 && 1 <= x45 - 1 && -1 <= x48 - 1 f69_0__init__GT(x53, x54, x55, x56, x57) -> f69_0__init__GT(x58, x59, x60, x61, x62) :|: x53 - 1 = x58 && x53 - 1 <= x53 - 1 && 0 <= x53 - 1 f201_0_main_InvokeMethod(x63, x64, x65, x66, x67) -> f226_0_isZero_NONNULL(x68, x69, x70, x71, x72) :|: x67 + 2 <= x64 && -1 <= x70 - 1 && 0 <= x69 - 1 && 0 <= x68 - 1 && 0 <= x65 - 1 && 0 <= x64 - 1 && 0 <= x63 - 1 && x70 + 1 <= x65 && x69 <= x65 && 1 <= x66 - 1 && x68 <= x64 f226_0_isZero_NONNULL(x73, x74, x75, x76, x77) -> f226_0_isZero_NONNULL(x78, x79, x80, x81, x82) :|: 2 <= x80 - 1 && 4 <= x79 - 1 && 1 <= x78 - 1 && 2 <= x75 - 1 && 4 <= x74 - 1 && 2 <= x73 - 1 && x80 <= x75 && x80 + 2 <= x74 && x79 - 2 <= x75 && x79 <= x74 && x78 + 1 <= x75 && x78 + 3 <= x74 && x78 + 1 <= x73 f226_0_isZero_NONNULL(x83, x84, x85, x86, x87) -> f534_0_div_InvokeMethod(x88, x89, x90, x91, x92) :|: 2 <= x88 - 1 && 1 <= x85 - 1 && 3 <= x84 - 1 && 2 <= x83 - 1 f226_0_isZero_NONNULL(x93, x94, x95, x96, x97) -> f534_0_div_InvokeMethod(x98, x99, x100, x101, x102) :|: 1 <= x98 - 1 && 1 <= x95 - 1 && 3 <= x94 - 1 && 2 <= x93 - 1 && x98 <= x95 && x98 + 2 <= x94 && x98 + 1 <= x93 f534_0_div_InvokeMethod(x103, x104, x105, x106, x107) -> f226_0_isZero_NONNULL(x108, x109, x110, x111, x112) :|: 1 <= x110 - 1 && 3 <= x109 - 1 && 0 <= x108 - 1 && 0 <= x103 - 1 && x110 - 1 <= x103 && x109 - 3 <= x103 && x108 <= x103 f226_0_isZero_NONNULL(x113, x114, x115, x116, x117) -> f555_0_div_InvokeMethod(x118, x119, x120, x121, x122) :|: 5 <= x119 - 1 && 0 <= x118 - 1 && 3 <= x115 - 1 && 5 <= x114 - 1 && 2 <= x113 - 1 && x119 - 2 <= x115 && x119 <= x114 && x119 - 3 <= x113 f226_0_isZero_NONNULL(x123, x124, x125, x126, x127) -> f555_0_div_InvokeMethod(x128, x129, x130, x131, x132) :|: 6 <= x129 - 1 && 0 <= x128 - 1 && 4 <= x125 - 1 && 6 <= x124 - 1 && 2 <= x123 - 1 && x129 - 2 <= x125 && x129 <= x124 f226_0_isZero_NONNULL(x133, x134, x135, x136, x137) -> f555_0_div_InvokeMethod(x138, x139, x140, x141, x142) :|: 6 <= x139 - 1 && 1 <= x138 - 1 && 4 <= x135 - 1 && 6 <= x134 - 1 && 2 <= x133 - 1 && x139 - 2 <= x135 && x139 <= x134 && x138 + 3 <= x135 && x138 + 5 <= x134 && x138 + 1 <= x133 f555_0_div_InvokeMethod(x143, x144, x145, x146, x147) -> f226_0_isZero_NONNULL(x148, x149, x150, x151, x152) :|: 2 <= x150 - 1 && 4 <= x149 - 1 && 0 <= x148 - 1 && 4 <= x144 - 1 && 0 <= x143 - 1 && x150 + 2 <= x144 && x149 <= x144 && x148 <= x143 f226_0_isZero_NONNULL(x153, x154, x155, x156, x157) -> f287_0_isZero_NONNULL(x158, x159, x160, x161, x162) :|: -1 <= x160 - 1 && 0 <= x159 - 1 && 0 <= x158 - 1 && 0 <= x155 - 1 && 2 <= x154 - 1 && 2 <= x153 - 1 && x160 + 1 <= x155 && x160 + 3 <= x154 && x159 <= x155 && x159 + 2 <= x154 && x158 + 2 <= x153 f287_0_isZero_NONNULL(x163, x164, x165, x166, x167) -> f287_0_isZero_NONNULL(x168, x169, x170, x171, x172) :|: -1 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && 0 <= x165 - 1 && 2 <= x164 - 1 && 2 <= x163 - 1 && x170 + 1 <= x165 && x170 + 3 <= x164 && x169 <= x165 && x169 + 2 <= x164 && x168 + 2 <= x163 f287_0_isZero_NONNULL(x173, x174, x175, x176, x177) -> f321_0_copy_NONNULL(x178, x179, x180, x181, x182) :|: -1 <= x179 - 1 && 0 <= x178 - 1 && -1 <= x175 - 1 && 1 <= x174 - 1 && 0 <= x173 - 1 && x179 + 1 <= x173 && x178 <= x173 f321_0_copy_NONNULL(x183, x184, x185, x186, x187) -> f321_0_copy_NONNULL(x188, x189, x190, x191, x192) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x184 - 1 && 2 <= x183 - 1 && x189 + 1 <= x184 && x189 + 3 <= x183 && x188 <= x184 && x188 + 2 <= x183 __init(x193, x194, x195, x196, x197) -> f1_0_main_New(x198, x199, x200, x201, x202) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: f1_0_main_New(arg1, arg2, arg3, arg4, arg5) -> f155_0_main_ArrayAccess(arg1P, arg2P, arg3P, arg4P, arg5P) :|: -1 <= x4 - 1 && 0 <= arg2 - 1 && arg2P <= arg1 && 0 <= arg1 - 1 && 2 <= arg1P - 1 && 0 <= arg2P - 1 && arg2 = arg3P f1_0_main_New(x, x1, x2, x3, x5) -> f155_0_main_ArrayAccess(x6, x7, x8, x9, x10) :|: x1 = x8 && 0 <= x7 - 1 && 1 <= x6 - 1 && 0 <= x - 1 && x7 <= x && 0 <= x1 - 1 && x6 - 1 <= x f155_0_main_ArrayAccess(x11, x12, x13, x14, x15) -> f201_0_main_InvokeMethod(x16, x17, x18, x19, x20) :|: x13 = x19 && x20 + 2 <= x11 && 1 <= x18 - 1 && 0 <= x17 - 1 && 0 <= x16 - 1 && 0 <= x12 - 1 && 0 <= x11 - 1 && x18 - 1 <= x12 && x18 - 1 <= x11 && x17 <= x11 && x16 <= x12 && 1 <= x13 - 1 && x16 <= x11 f155_0_main_ArrayAccess(x21, x22, x24, x25, x26) -> f201_0_main_InvokeMethod(x27, x28, x29, x30, x31) :|: -1 <= x32 - 1 && 1 <= x24 - 1 && x27 <= x21 && x27 <= x22 && x28 <= x21 && 0 <= x21 - 1 && 0 <= x22 - 1 && 0 <= x27 - 1 && 0 <= x28 - 1 && 2 <= x29 - 1 && x31 + 2 <= x21 && x24 = x30 f1_0_main_New(x33, x34, x35, x36, x37) -> f69_0__init__GT(x38, x39, x40, x41, x42) :|: 0 <= x33 - 1 && 0 <= x34 - 1 && -1 <= x38 - 1 f155_0_main_ArrayAccess(x43, x44, x45, x46, x47) -> f69_0__init__GT(x48, x49, x50, x51, x52) :|: 0 <= x44 - 1 && 0 <= x43 - 1 && 1 <= x45 - 1 && -1 <= x48 - 1 f69_0__init__GT(x53, x54, x55, x56, x57) -> f69_0__init__GT(x58, x59, x60, x61, x62) :|: x53 - 1 = x58 && x53 - 1 <= x53 - 1 && 0 <= x53 - 1 f201_0_main_InvokeMethod(x63, x64, x65, x66, x67) -> f226_0_isZero_NONNULL(x68, x69, x70, x71, x72) :|: x67 + 2 <= x64 && -1 <= x70 - 1 && 0 <= x69 - 1 && 0 <= x68 - 1 && 0 <= x65 - 1 && 0 <= x64 - 1 && 0 <= x63 - 1 && x70 + 1 <= x65 && x69 <= x65 && 1 <= x66 - 1 && x68 <= x64 f226_0_isZero_NONNULL(x73, x74, x75, x76, x77) -> f226_0_isZero_NONNULL(x78, x79, x80, x81, x82) :|: 2 <= x80 - 1 && 4 <= x79 - 1 && 1 <= x78 - 1 && 2 <= x75 - 1 && 4 <= x74 - 1 && 2 <= x73 - 1 && x80 <= x75 && x80 + 2 <= x74 && x79 - 2 <= x75 && x79 <= x74 && x78 + 1 <= x75 && x78 + 3 <= x74 && x78 + 1 <= x73 f226_0_isZero_NONNULL(x83, x84, x85, x86, x87) -> f534_0_div_InvokeMethod(x88, x89, x90, x91, x92) :|: 2 <= x88 - 1 && 1 <= x85 - 1 && 3 <= x84 - 1 && 2 <= x83 - 1 f226_0_isZero_NONNULL(x93, x94, x95, x96, x97) -> f534_0_div_InvokeMethod(x98, x99, x100, x101, x102) :|: 1 <= x98 - 1 && 1 <= x95 - 1 && 3 <= x94 - 1 && 2 <= x93 - 1 && x98 <= x95 && x98 + 2 <= x94 && x98 + 1 <= x93 f534_0_div_InvokeMethod(x103, x104, x105, x106, x107) -> f226_0_isZero_NONNULL(x108, x109, x110, x111, x112) :|: 1 <= x110 - 1 && 3 <= x109 - 1 && 0 <= x108 - 1 && 0 <= x103 - 1 && x110 - 1 <= x103 && x109 - 3 <= x103 && x108 <= x103 f226_0_isZero_NONNULL(x113, x114, x115, x116, x117) -> f555_0_div_InvokeMethod(x118, x119, x120, x121, x122) :|: 5 <= x119 - 1 && 0 <= x118 - 1 && 3 <= x115 - 1 && 5 <= x114 - 1 && 2 <= x113 - 1 && x119 - 2 <= x115 && x119 <= x114 && x119 - 3 <= x113 f226_0_isZero_NONNULL(x123, x124, x125, x126, x127) -> f555_0_div_InvokeMethod(x128, x129, x130, x131, x132) :|: 6 <= x129 - 1 && 0 <= x128 - 1 && 4 <= x125 - 1 && 6 <= x124 - 1 && 2 <= x123 - 1 && x129 - 2 <= x125 && x129 <= x124 f226_0_isZero_NONNULL(x133, x134, x135, x136, x137) -> f555_0_div_InvokeMethod(x138, x139, x140, x141, x142) :|: 6 <= x139 - 1 && 1 <= x138 - 1 && 4 <= x135 - 1 && 6 <= x134 - 1 && 2 <= x133 - 1 && x139 - 2 <= x135 && x139 <= x134 && x138 + 3 <= x135 && x138 + 5 <= x134 && x138 + 1 <= x133 f555_0_div_InvokeMethod(x143, x144, x145, x146, x147) -> f226_0_isZero_NONNULL(x148, x149, x150, x151, x152) :|: 2 <= x150 - 1 && 4 <= x149 - 1 && 0 <= x148 - 1 && 4 <= x144 - 1 && 0 <= x143 - 1 && x150 + 2 <= x144 && x149 <= x144 && x148 <= x143 f226_0_isZero_NONNULL(x153, x154, x155, x156, x157) -> f287_0_isZero_NONNULL(x158, x159, x160, x161, x162) :|: -1 <= x160 - 1 && 0 <= x159 - 1 && 0 <= x158 - 1 && 0 <= x155 - 1 && 2 <= x154 - 1 && 2 <= x153 - 1 && x160 + 1 <= x155 && x160 + 3 <= x154 && x159 <= x155 && x159 + 2 <= x154 && x158 + 2 <= x153 f287_0_isZero_NONNULL(x163, x164, x165, x166, x167) -> f287_0_isZero_NONNULL(x168, x169, x170, x171, x172) :|: -1 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && 0 <= x165 - 1 && 2 <= x164 - 1 && 2 <= x163 - 1 && x170 + 1 <= x165 && x170 + 3 <= x164 && x169 <= x165 && x169 + 2 <= x164 && x168 + 2 <= x163 f287_0_isZero_NONNULL(x173, x174, x175, x176, x177) -> f321_0_copy_NONNULL(x178, x179, x180, x181, x182) :|: -1 <= x179 - 1 && 0 <= x178 - 1 && -1 <= x175 - 1 && 1 <= x174 - 1 && 0 <= x173 - 1 && x179 + 1 <= x173 && x178 <= x173 f321_0_copy_NONNULL(x183, x184, x185, x186, x187) -> f321_0_copy_NONNULL(x188, x189, x190, x191, x192) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x184 - 1 && 2 <= x183 - 1 && x189 + 1 <= x184 && x189 + 3 <= x183 && x188 <= x184 && x188 + 2 <= x183 __init(x193, x194, x195, x196, x197) -> f1_0_main_New(x198, x199, x200, x201, x202) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1_0_main_New(arg1, arg2, arg3, arg4, arg5) -> f155_0_main_ArrayAccess(arg1P, arg2P, arg3P, arg4P, arg5P) :|: -1 <= x4 - 1 && 0 <= arg2 - 1 && arg2P <= arg1 && 0 <= arg1 - 1 && 2 <= arg1P - 1 && 0 <= arg2P - 1 && arg2 = arg3P (2) f1_0_main_New(x, x1, x2, x3, x5) -> f155_0_main_ArrayAccess(x6, x7, x8, x9, x10) :|: x1 = x8 && 0 <= x7 - 1 && 1 <= x6 - 1 && 0 <= x - 1 && x7 <= x && 0 <= x1 - 1 && x6 - 1 <= x (3) f155_0_main_ArrayAccess(x11, x12, x13, x14, x15) -> f201_0_main_InvokeMethod(x16, x17, x18, x19, x20) :|: x13 = x19 && x20 + 2 <= x11 && 1 <= x18 - 1 && 0 <= x17 - 1 && 0 <= x16 - 1 && 0 <= x12 - 1 && 0 <= x11 - 1 && x18 - 1 <= x12 && x18 - 1 <= x11 && x17 <= x11 && x16 <= x12 && 1 <= x13 - 1 && x16 <= x11 (4) f155_0_main_ArrayAccess(x21, x22, x24, x25, x26) -> f201_0_main_InvokeMethod(x27, x28, x29, x30, x31) :|: -1 <= x32 - 1 && 1 <= x24 - 1 && x27 <= x21 && x27 <= x22 && x28 <= x21 && 0 <= x21 - 1 && 0 <= x22 - 1 && 0 <= x27 - 1 && 0 <= x28 - 1 && 2 <= x29 - 1 && x31 + 2 <= x21 && x24 = x30 (5) f1_0_main_New(x33, x34, x35, x36, x37) -> f69_0__init__GT(x38, x39, x40, x41, x42) :|: 0 <= x33 - 1 && 0 <= x34 - 1 && -1 <= x38 - 1 (6) f155_0_main_ArrayAccess(x43, x44, x45, x46, x47) -> f69_0__init__GT(x48, x49, x50, x51, x52) :|: 0 <= x44 - 1 && 0 <= x43 - 1 && 1 <= x45 - 1 && -1 <= x48 - 1 (7) f69_0__init__GT(x53, x54, x55, x56, x57) -> f69_0__init__GT(x58, x59, x60, x61, x62) :|: x53 - 1 = x58 && x53 - 1 <= x53 - 1 && 0 <= x53 - 1 (8) f201_0_main_InvokeMethod(x63, x64, x65, x66, x67) -> f226_0_isZero_NONNULL(x68, x69, x70, x71, x72) :|: x67 + 2 <= x64 && -1 <= x70 - 1 && 0 <= x69 - 1 && 0 <= x68 - 1 && 0 <= x65 - 1 && 0 <= x64 - 1 && 0 <= x63 - 1 && x70 + 1 <= x65 && x69 <= x65 && 1 <= x66 - 1 && x68 <= x64 (9) f226_0_isZero_NONNULL(x73, x74, x75, x76, x77) -> f226_0_isZero_NONNULL(x78, x79, x80, x81, x82) :|: 2 <= x80 - 1 && 4 <= x79 - 1 && 1 <= x78 - 1 && 2 <= x75 - 1 && 4 <= x74 - 1 && 2 <= x73 - 1 && x80 <= x75 && x80 + 2 <= x74 && x79 - 2 <= x75 && x79 <= x74 && x78 + 1 <= x75 && x78 + 3 <= x74 && x78 + 1 <= x73 (10) f226_0_isZero_NONNULL(x83, x84, x85, x86, x87) -> f534_0_div_InvokeMethod(x88, x89, x90, x91, x92) :|: 2 <= x88 - 1 && 1 <= x85 - 1 && 3 <= x84 - 1 && 2 <= x83 - 1 (11) f226_0_isZero_NONNULL(x93, x94, x95, x96, x97) -> f534_0_div_InvokeMethod(x98, x99, x100, x101, x102) :|: 1 <= x98 - 1 && 1 <= x95 - 1 && 3 <= x94 - 1 && 2 <= x93 - 1 && x98 <= x95 && x98 + 2 <= x94 && x98 + 1 <= x93 (12) f534_0_div_InvokeMethod(x103, x104, x105, x106, x107) -> f226_0_isZero_NONNULL(x108, x109, x110, x111, x112) :|: 1 <= x110 - 1 && 3 <= x109 - 1 && 0 <= x108 - 1 && 0 <= x103 - 1 && x110 - 1 <= x103 && x109 - 3 <= x103 && x108 <= x103 (13) f226_0_isZero_NONNULL(x113, x114, x115, x116, x117) -> f555_0_div_InvokeMethod(x118, x119, x120, x121, x122) :|: 5 <= x119 - 1 && 0 <= x118 - 1 && 3 <= x115 - 1 && 5 <= x114 - 1 && 2 <= x113 - 1 && x119 - 2 <= x115 && x119 <= x114 && x119 - 3 <= x113 (14) f226_0_isZero_NONNULL(x123, x124, x125, x126, x127) -> f555_0_div_InvokeMethod(x128, x129, x130, x131, x132) :|: 6 <= x129 - 1 && 0 <= x128 - 1 && 4 <= x125 - 1 && 6 <= x124 - 1 && 2 <= x123 - 1 && x129 - 2 <= x125 && x129 <= x124 (15) f226_0_isZero_NONNULL(x133, x134, x135, x136, x137) -> f555_0_div_InvokeMethod(x138, x139, x140, x141, x142) :|: 6 <= x139 - 1 && 1 <= x138 - 1 && 4 <= x135 - 1 && 6 <= x134 - 1 && 2 <= x133 - 1 && x139 - 2 <= x135 && x139 <= x134 && x138 + 3 <= x135 && x138 + 5 <= x134 && x138 + 1 <= x133 (16) f555_0_div_InvokeMethod(x143, x144, x145, x146, x147) -> f226_0_isZero_NONNULL(x148, x149, x150, x151, x152) :|: 2 <= x150 - 1 && 4 <= x149 - 1 && 0 <= x148 - 1 && 4 <= x144 - 1 && 0 <= x143 - 1 && x150 + 2 <= x144 && x149 <= x144 && x148 <= x143 (17) f226_0_isZero_NONNULL(x153, x154, x155, x156, x157) -> f287_0_isZero_NONNULL(x158, x159, x160, x161, x162) :|: -1 <= x160 - 1 && 0 <= x159 - 1 && 0 <= x158 - 1 && 0 <= x155 - 1 && 2 <= x154 - 1 && 2 <= x153 - 1 && x160 + 1 <= x155 && x160 + 3 <= x154 && x159 <= x155 && x159 + 2 <= x154 && x158 + 2 <= x153 (18) f287_0_isZero_NONNULL(x163, x164, x165, x166, x167) -> f287_0_isZero_NONNULL(x168, x169, x170, x171, x172) :|: -1 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && 0 <= x165 - 1 && 2 <= x164 - 1 && 2 <= x163 - 1 && x170 + 1 <= x165 && x170 + 3 <= x164 && x169 <= x165 && x169 + 2 <= x164 && x168 + 2 <= x163 (19) f287_0_isZero_NONNULL(x173, x174, x175, x176, x177) -> f321_0_copy_NONNULL(x178, x179, x180, x181, x182) :|: -1 <= x179 - 1 && 0 <= x178 - 1 && -1 <= x175 - 1 && 1 <= x174 - 1 && 0 <= x173 - 1 && x179 + 1 <= x173 && x178 <= x173 (20) f321_0_copy_NONNULL(x183, x184, x185, x186, x187) -> f321_0_copy_NONNULL(x188, x189, x190, x191, x192) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x184 - 1 && 2 <= x183 - 1 && x189 + 1 <= x184 && x189 + 3 <= x183 && x188 <= x184 && x188 + 2 <= x183 (21) __init(x193, x194, x195, x196, x197) -> f1_0_main_New(x198, x199, x200, x201, x202) :|: 0 <= 0 Arcs: (1) -> (3), (4), (6) (2) -> (3), (4), (6) (3) -> (8) (4) -> (8) (5) -> (7) (6) -> (7) (7) -> (7) (8) -> (9), (10), (11), (13), (14), (15), (17) (9) -> (9), (10), (11), (13), (14), (15), (17) (10) -> (12) (11) -> (12) (12) -> (9), (10), (11), (13), (14), (15), (17) (13) -> (16) (14) -> (16) (15) -> (16) (16) -> (9), (10), (11), (13), (14), (15), (17) (17) -> (18), (19) (18) -> (18), (19) (19) -> (20) (20) -> (20) (21) -> (1), (2), (5) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) f69_0__init__GT(x53, x54, x55, x56, x57) -> f69_0__init__GT(x58, x59, x60, x61, x62) :|: x53 - 1 = x58 && x53 - 1 <= x53 - 1 && 0 <= x53 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (6) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (7) Obligation: Rules: f69_0__init__GT(x53:0, x54:0, x55:0, x56:0, x57:0) -> f69_0__init__GT(x53:0 - 1, x59:0, x60:0, x61:0, x62:0) :|: x53:0 > 0 ---------------------------------------- (8) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f69_0__init__GT(x1, x2, x3, x4, x5) -> f69_0__init__GT(x1) ---------------------------------------- (9) Obligation: Rules: f69_0__init__GT(x53:0) -> f69_0__init__GT(x53:0 - 1) :|: x53:0 > 0 ---------------------------------------- (10) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f69_0__init__GT(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (11) Obligation: Rules: f69_0__init__GT(x53:0) -> f69_0__init__GT(c) :|: c = x53:0 - 1 && x53:0 > 0 ---------------------------------------- (12) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f69_0__init__GT(x)] = x The following rules are decreasing: f69_0__init__GT(x53:0) -> f69_0__init__GT(c) :|: c = x53:0 - 1 && x53:0 > 0 The following rules are bounded: f69_0__init__GT(x53:0) -> f69_0__init__GT(c) :|: c = x53:0 - 1 && x53:0 > 0 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Termination digraph: Nodes: (1) f226_0_isZero_NONNULL(x73, x74, x75, x76, x77) -> f226_0_isZero_NONNULL(x78, x79, x80, x81, x82) :|: 2 <= x80 - 1 && 4 <= x79 - 1 && 1 <= x78 - 1 && 2 <= x75 - 1 && 4 <= x74 - 1 && 2 <= x73 - 1 && x80 <= x75 && x80 + 2 <= x74 && x79 - 2 <= x75 && x79 <= x74 && x78 + 1 <= x75 && x78 + 3 <= x74 && x78 + 1 <= x73 (2) f534_0_div_InvokeMethod(x103, x104, x105, x106, x107) -> f226_0_isZero_NONNULL(x108, x109, x110, x111, x112) :|: 1 <= x110 - 1 && 3 <= x109 - 1 && 0 <= x108 - 1 && 0 <= x103 - 1 && x110 - 1 <= x103 && x109 - 3 <= x103 && x108 <= x103 (3) f226_0_isZero_NONNULL(x93, x94, x95, x96, x97) -> f534_0_div_InvokeMethod(x98, x99, x100, x101, x102) :|: 1 <= x98 - 1 && 1 <= x95 - 1 && 3 <= x94 - 1 && 2 <= x93 - 1 && x98 <= x95 && x98 + 2 <= x94 && x98 + 1 <= x93 (4) f226_0_isZero_NONNULL(x83, x84, x85, x86, x87) -> f534_0_div_InvokeMethod(x88, x89, x90, x91, x92) :|: 2 <= x88 - 1 && 1 <= x85 - 1 && 3 <= x84 - 1 && 2 <= x83 - 1 (5) f555_0_div_InvokeMethod(x143, x144, x145, x146, x147) -> f226_0_isZero_NONNULL(x148, x149, x150, x151, x152) :|: 2 <= x150 - 1 && 4 <= x149 - 1 && 0 <= x148 - 1 && 4 <= x144 - 1 && 0 <= x143 - 1 && x150 + 2 <= x144 && x149 <= x144 && x148 <= x143 (6) f226_0_isZero_NONNULL(x133, x134, x135, x136, x137) -> f555_0_div_InvokeMethod(x138, x139, x140, x141, x142) :|: 6 <= x139 - 1 && 1 <= x138 - 1 && 4 <= x135 - 1 && 6 <= x134 - 1 && 2 <= x133 - 1 && x139 - 2 <= x135 && x139 <= x134 && x138 + 3 <= x135 && x138 + 5 <= x134 && x138 + 1 <= x133 (7) f226_0_isZero_NONNULL(x123, x124, x125, x126, x127) -> f555_0_div_InvokeMethod(x128, x129, x130, x131, x132) :|: 6 <= x129 - 1 && 0 <= x128 - 1 && 4 <= x125 - 1 && 6 <= x124 - 1 && 2 <= x123 - 1 && x129 - 2 <= x125 && x129 <= x124 (8) f226_0_isZero_NONNULL(x113, x114, x115, x116, x117) -> f555_0_div_InvokeMethod(x118, x119, x120, x121, x122) :|: 5 <= x119 - 1 && 0 <= x118 - 1 && 3 <= x115 - 1 && 5 <= x114 - 1 && 2 <= x113 - 1 && x119 - 2 <= x115 && x119 <= x114 && x119 - 3 <= x113 Arcs: (1) -> (1), (3), (4), (6), (7), (8) (2) -> (1), (3), (4), (6), (7), (8) (3) -> (2) (4) -> (2) (5) -> (1), (3), (4), (6), (7), (8) (6) -> (5) (7) -> (5) (8) -> (5) This digraph is fully evaluated! ---------------------------------------- (15) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (16) Obligation: Rules: f226_0_isZero_NONNULL(x93:0, x94:0, x95:0, x96:0, x97:0) -> f226_0_isZero_NONNULL(x108:0, x109:0, x110:0, x111:0, x112:0) :|: x98:0 >= x108:0 && x98:0 + 1 <= x93:0 && x98:0 + 2 <= x94:0 && x98:0 >= x109:0 - 3 && x98:0 <= x95:0 && x98:0 >= x110:0 - 1 && x93:0 > 2 && x94:0 > 3 && x108:0 > 0 && x95:0 > 1 && x110:0 > 1 && x98:0 > 1 && x109:0 > 3 f226_0_isZero_NONNULL(x, x1, x2, x3, x4) -> f226_0_isZero_NONNULL(x5, x6, x7, x8, x9) :|: x10 >= x5 && x > 2 && x1 > 3 && x10 >= x6 - 3 && x2 > 1 && x10 >= x7 - 1 && x5 > 0 && x7 > 1 && x10 > 2 && x6 > 3 f226_0_isZero_NONNULL(x113:0, x114:0, x115:0, x116:0, x117:0) -> f226_0_isZero_NONNULL(x148:0, x149:0, x150:0, x151:0, x152:0) :|: x148:0 <= x118:0 && x119:0 - 3 <= x113:0 && x119:0 <= x114:0 && x149:0 <= x119:0 && x119:0 - 2 <= x115:0 && x150:0 + 2 <= x119:0 && x113:0 > 2 && x114:0 > 5 && x115:0 > 3 && x148:0 > 0 && x118:0 > 0 && x150:0 > 2 && x119:0 > 5 && x149:0 > 4 f226_0_isZero_NONNULL(x11, x12, x13, x14, x15) -> f226_0_isZero_NONNULL(x16, x17, x18, x19, x20) :|: x16 <= x21 && x21 + 1 <= x11 && x21 + 5 <= x12 && x17 <= x22 && x21 + 3 <= x13 && x18 + 2 <= x22 && x22 <= x12 && x22 - 2 <= x13 && x11 > 2 && x16 > 0 && x12 > 6 && x18 > 2 && x17 > 4 && x13 > 4 && x21 > 1 && x22 > 6 f226_0_isZero_NONNULL(x73:0, x74:0, x75:0, x76:0, x77:0) -> f226_0_isZero_NONNULL(x78:0, x79:0, x80:0, x81:0, x82:0) :|: x78:0 + 3 <= x74:0 && x78:0 + 1 <= x73:0 && x78:0 + 1 <= x75:0 && x79:0 <= x74:0 && x79:0 - 2 <= x75:0 && x80:0 + 2 <= x74:0 && x80:0 <= x75:0 && x73:0 > 2 && x74:0 > 4 && x75:0 > 2 && x78:0 > 1 && x79:0 > 4 && x80:0 > 2 f226_0_isZero_NONNULL(x23, x24, x25, x26, x27) -> f226_0_isZero_NONNULL(x28, x29, x30, x31, x32) :|: x28 <= x33 && x34 <= x24 && x34 - 2 <= x25 && x29 <= x34 && x23 > 2 && x30 + 2 <= x34 && x24 > 6 && x25 > 4 && x33 > 0 && x28 > 0 && x30 > 2 && x34 > 6 && x29 > 4 ---------------------------------------- (17) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f226_0_isZero_NONNULL(x1, x2, x3, x4, x5) -> f226_0_isZero_NONNULL(x1, x2, x3) ---------------------------------------- (18) Obligation: Rules: f226_0_isZero_NONNULL(x93:0, x94:0, x95:0) -> f226_0_isZero_NONNULL(x108:0, x109:0, x110:0) :|: x98:0 >= x108:0 && x98:0 + 1 <= x93:0 && x98:0 + 2 <= x94:0 && x98:0 >= x109:0 - 3 && x98:0 <= x95:0 && x98:0 >= x110:0 - 1 && x93:0 > 2 && x94:0 > 3 && x108:0 > 0 && x95:0 > 1 && x110:0 > 1 && x98:0 > 1 && x109:0 > 3 f226_0_isZero_NONNULL(x, x1, x2) -> f226_0_isZero_NONNULL(x5, x6, x7) :|: x10 >= x5 && x > 2 && x1 > 3 && x10 >= x6 - 3 && x2 > 1 && x10 >= x7 - 1 && x5 > 0 && x7 > 1 && x10 > 2 && x6 > 3 f226_0_isZero_NONNULL(x113:0, x114:0, x115:0) -> f226_0_isZero_NONNULL(x148:0, x149:0, x150:0) :|: x148:0 <= x118:0 && x119:0 - 3 <= x113:0 && x119:0 <= x114:0 && x149:0 <= x119:0 && x119:0 - 2 <= x115:0 && x150:0 + 2 <= x119:0 && x113:0 > 2 && x114:0 > 5 && x115:0 > 3 && x148:0 > 0 && x118:0 > 0 && x150:0 > 2 && x119:0 > 5 && x149:0 > 4 f226_0_isZero_NONNULL(x11, x12, x13) -> f226_0_isZero_NONNULL(x16, x17, x18) :|: x16 <= x21 && x21 + 1 <= x11 && x21 + 5 <= x12 && x17 <= x22 && x21 + 3 <= x13 && x18 + 2 <= x22 && x22 <= x12 && x22 - 2 <= x13 && x11 > 2 && x16 > 0 && x12 > 6 && x18 > 2 && x17 > 4 && x13 > 4 && x21 > 1 && x22 > 6 f226_0_isZero_NONNULL(x73:0, x74:0, x75:0) -> f226_0_isZero_NONNULL(x78:0, x79:0, x80:0) :|: x78:0 + 3 <= x74:0 && x78:0 + 1 <= x73:0 && x78:0 + 1 <= x75:0 && x79:0 <= x74:0 && x79:0 - 2 <= x75:0 && x80:0 + 2 <= x74:0 && x80:0 <= x75:0 && x73:0 > 2 && x74:0 > 4 && x75:0 > 2 && x78:0 > 1 && x79:0 > 4 && x80:0 > 2 f226_0_isZero_NONNULL(x23, x24, x25) -> f226_0_isZero_NONNULL(x28, x29, x30) :|: x28 <= x33 && x34 <= x24 && x34 - 2 <= x25 && x29 <= x34 && x23 > 2 && x30 + 2 <= x34 && x24 > 6 && x25 > 4 && x33 > 0 && x28 > 0 && x30 > 2 && x34 > 6 && x29 > 4 ---------------------------------------- (19) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f226_0_isZero_NONNULL(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (20) Obligation: Rules: f226_0_isZero_NONNULL(x93:0, x94:0, x95:0) -> f226_0_isZero_NONNULL(x108:0, x109:0, x110:0) :|: x98:0 >= x108:0 && x98:0 + 1 <= x93:0 && x98:0 + 2 <= x94:0 && x98:0 >= x109:0 - 3 && x98:0 <= x95:0 && x98:0 >= x110:0 - 1 && x93:0 > 2 && x94:0 > 3 && x108:0 > 0 && x95:0 > 1 && x110:0 > 1 && x98:0 > 1 && x109:0 > 3 f226_0_isZero_NONNULL(x, x1, x2) -> f226_0_isZero_NONNULL(x5, x6, x7) :|: x10 >= x5 && x > 2 && x1 > 3 && x10 >= x6 - 3 && x2 > 1 && x10 >= x7 - 1 && x5 > 0 && x7 > 1 && x10 > 2 && x6 > 3 f226_0_isZero_NONNULL(x113:0, x114:0, x115:0) -> f226_0_isZero_NONNULL(x148:0, x149:0, x150:0) :|: x148:0 <= x118:0 && x119:0 - 3 <= x113:0 && x119:0 <= x114:0 && x149:0 <= x119:0 && x119:0 - 2 <= x115:0 && x150:0 + 2 <= x119:0 && x113:0 > 2 && x114:0 > 5 && x115:0 > 3 && x148:0 > 0 && x118:0 > 0 && x150:0 > 2 && x119:0 > 5 && x149:0 > 4 f226_0_isZero_NONNULL(x11, x12, x13) -> f226_0_isZero_NONNULL(x16, x17, x18) :|: x16 <= x21 && x21 + 1 <= x11 && x21 + 5 <= x12 && x17 <= x22 && x21 + 3 <= x13 && x18 + 2 <= x22 && x22 <= x12 && x22 - 2 <= x13 && x11 > 2 && x16 > 0 && x12 > 6 && x18 > 2 && x17 > 4 && x13 > 4 && x21 > 1 && x22 > 6 f226_0_isZero_NONNULL(x73:0, x74:0, x75:0) -> f226_0_isZero_NONNULL(x78:0, x79:0, x80:0) :|: x78:0 + 3 <= x74:0 && x78:0 + 1 <= x73:0 && x78:0 + 1 <= x75:0 && x79:0 <= x74:0 && x79:0 - 2 <= x75:0 && x80:0 + 2 <= x74:0 && x80:0 <= x75:0 && x73:0 > 2 && x74:0 > 4 && x75:0 > 2 && x78:0 > 1 && x79:0 > 4 && x80:0 > 2 f226_0_isZero_NONNULL(x23, x24, x25) -> f226_0_isZero_NONNULL(x28, x29, x30) :|: x28 <= x33 && x34 <= x24 && x34 - 2 <= x25 && x29 <= x34 && x23 > 2 && x30 + 2 <= x34 && x24 > 6 && x25 > 4 && x33 > 0 && x28 > 0 && x30 > 2 && x34 > 6 && x29 > 4 ---------------------------------------- (21) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (22) Obligation: Rules: f226_0_isZero_NONNULL(x93:0:0, x94:0:0, x95:0:0) -> f226_0_isZero_NONNULL(x108:0:0, x109:0:0, x110:0:0) :|: x98:0:0 > 1 && x109:0:0 > 3 && x110:0:0 > 1 && x95:0:0 > 1 && x108:0:0 > 0 && x94:0:0 > 3 && x93:0:0 > 2 && x98:0:0 >= x110:0:0 - 1 && x98:0:0 <= x95:0:0 && x98:0:0 >= x109:0:0 - 3 && x98:0:0 + 2 <= x94:0:0 && x98:0:0 + 1 <= x93:0:0 && x98:0:0 >= x108:0:0 f226_0_isZero_NONNULL(x73:0:0, x74:0:0, x75:0:0) -> f226_0_isZero_NONNULL(x78:0:0, x79:0:0, x80:0:0) :|: x79:0:0 > 4 && x80:0:0 > 2 && x78:0:0 > 1 && x75:0:0 > 2 && x74:0:0 > 4 && x73:0:0 > 2 && x80:0:0 <= x75:0:0 && x80:0:0 + 2 <= x74:0:0 && x79:0:0 - 2 <= x75:0:0 && x79:0:0 <= x74:0:0 && x78:0:0 + 1 <= x75:0:0 && x78:0:0 + 1 <= x73:0:0 && x78:0:0 + 3 <= x74:0:0 f226_0_isZero_NONNULL(x11:0, x12:0, x13:0) -> f226_0_isZero_NONNULL(x16:0, x17:0, x18:0) :|: x21:0 > 1 && x22:0 > 6 && x13:0 > 4 && x17:0 > 4 && x18:0 > 2 && x12:0 > 6 && x16:0 > 0 && x11:0 > 2 && x22:0 - 2 <= x13:0 && x22:0 <= x12:0 && x22:0 >= x18:0 + 2 && x21:0 + 3 <= x13:0 && x22:0 >= x17:0 && x21:0 + 5 <= x12:0 && x21:0 + 1 <= x11:0 && x21:0 >= x16:0 f226_0_isZero_NONNULL(x:0, x1:0, x2:0) -> f226_0_isZero_NONNULL(x5:0, x6:0, x7:0) :|: x10:0 > 2 && x6:0 > 3 && x7:0 > 1 && x5:0 > 0 && x7:0 - 1 <= x10:0 && x2:0 > 1 && x6:0 - 3 <= x10:0 && x1:0 > 3 && x:0 > 2 && x5:0 <= x10:0 f226_0_isZero_NONNULL(x113:0:0, x114:0:0, x115:0:0) -> f226_0_isZero_NONNULL(x148:0:0, x149:0:0, x150:0:0) :|: x119:0:0 > 5 && x149:0:0 > 4 && x150:0:0 > 2 && x118:0:0 > 0 && x148:0:0 > 0 && x115:0:0 > 3 && x114:0:0 > 5 && x113:0:0 > 2 && x150:0:0 + 2 <= x119:0:0 && x119:0:0 - 2 <= x115:0:0 && x149:0:0 <= x119:0:0 && x119:0:0 <= x114:0:0 && x119:0:0 - 3 <= x113:0:0 && x148:0:0 <= x118:0:0 f226_0_isZero_NONNULL(x23:0, x24:0, x25:0) -> f226_0_isZero_NONNULL(x28:0, x29:0, x30:0) :|: x34:0 > 6 && x29:0 > 4 && x30:0 > 2 && x28:0 > 0 && x33:0 > 0 && x25:0 > 4 && x24:0 > 6 && x34:0 >= x30:0 + 2 && x23:0 > 2 && x34:0 >= x29:0 && x34:0 - 2 <= x25:0 && x34:0 <= x24:0 && x33:0 >= x28:0 ---------------------------------------- (23) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x93:0:0, x94:0:0, x95:0:0) -> f(1, x108:0:0, x109:0:0, x110:0:0) :|: pc = 1 && (x98:0:0 > 1 && x109:0:0 > 3 && x110:0:0 > 1 && x95:0:0 > 1 && x108:0:0 > 0 && x94:0:0 > 3 && x93:0:0 > 2 && x98:0:0 >= x110:0:0 - 1 && x98:0:0 <= x95:0:0 && x98:0:0 >= x109:0:0 - 3 && x98:0:0 + 2 <= x94:0:0 && x98:0:0 + 1 <= x93:0:0 && x98:0:0 >= x108:0:0) f(pc, x73:0:0, x74:0:0, x75:0:0) -> f(1, x78:0:0, x79:0:0, x80:0:0) :|: pc = 1 && (x79:0:0 > 4 && x80:0:0 > 2 && x78:0:0 > 1 && x75:0:0 > 2 && x74:0:0 > 4 && x73:0:0 > 2 && x80:0:0 <= x75:0:0 && x80:0:0 + 2 <= x74:0:0 && x79:0:0 - 2 <= x75:0:0 && x79:0:0 <= x74:0:0 && x78:0:0 + 1 <= x75:0:0 && x78:0:0 + 1 <= x73:0:0 && x78:0:0 + 3 <= x74:0:0) f(pc, x11:0, x12:0, x13:0) -> f(1, x16:0, x17:0, x18:0) :|: pc = 1 && (x21:0 > 1 && x22:0 > 6 && x13:0 > 4 && x17:0 > 4 && x18:0 > 2 && x12:0 > 6 && x16:0 > 0 && x11:0 > 2 && x22:0 - 2 <= x13:0 && x22:0 <= x12:0 && x22:0 >= x18:0 + 2 && x21:0 + 3 <= x13:0 && x22:0 >= x17:0 && x21:0 + 5 <= x12:0 && x21:0 + 1 <= x11:0 && x21:0 >= x16:0) f(pc, x:0, x1:0, x2:0) -> f(1, x5:0, x6:0, x7:0) :|: pc = 1 && (x10:0 > 2 && x6:0 > 3 && x7:0 > 1 && x5:0 > 0 && x7:0 - 1 <= x10:0 && x2:0 > 1 && x6:0 - 3 <= x10:0 && x1:0 > 3 && x:0 > 2 && x5:0 <= x10:0) f(pc, x113:0:0, x114:0:0, x115:0:0) -> f(1, x148:0:0, x149:0:0, x150:0:0) :|: pc = 1 && (x119:0:0 > 5 && x149:0:0 > 4 && x150:0:0 > 2 && x118:0:0 > 0 && x148:0:0 > 0 && x115:0:0 > 3 && x114:0:0 > 5 && x113:0:0 > 2 && x150:0:0 + 2 <= x119:0:0 && x119:0:0 - 2 <= x115:0:0 && x149:0:0 <= x119:0:0 && x119:0:0 <= x114:0:0 && x119:0:0 - 3 <= x113:0:0 && x148:0:0 <= x118:0:0) f(pc, x23:0, x24:0, x25:0) -> f(1, x28:0, x29:0, x30:0) :|: pc = 1 && (x34:0 > 6 && x29:0 > 4 && x30:0 > 2 && x28:0 > 0 && x33:0 > 0 && x25:0 > 4 && x24:0 > 6 && x34:0 >= x30:0 + 2 && x23:0 > 2 && x34:0 >= x29:0 && x34:0 - 2 <= x25:0 && x34:0 <= x24:0 && x33:0 >= x28:0) Witness term starting non-terminating reduction: f(1, 5, 7, 7) ---------------------------------------- (24) NO ---------------------------------------- (25) Obligation: Termination digraph: Nodes: (1) f287_0_isZero_NONNULL(x163, x164, x165, x166, x167) -> f287_0_isZero_NONNULL(x168, x169, x170, x171, x172) :|: -1 <= x170 - 1 && 0 <= x169 - 1 && 0 <= x168 - 1 && 0 <= x165 - 1 && 2 <= x164 - 1 && 2 <= x163 - 1 && x170 + 1 <= x165 && x170 + 3 <= x164 && x169 <= x165 && x169 + 2 <= x164 && x168 + 2 <= x163 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (26) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (27) Obligation: Rules: f287_0_isZero_NONNULL(x163:0, x164:0, x165:0, x166:0, x167:0) -> f287_0_isZero_NONNULL(x168:0, x169:0, x170:0, x171:0, x172:0) :|: x169:0 + 2 <= x164:0 && x168:0 + 2 <= x163:0 && x169:0 <= x165:0 && x170:0 + 3 <= x164:0 && x170:0 + 1 <= x165:0 && x163:0 > 2 && x164:0 > 2 && x165:0 > 0 && x168:0 > 0 && x169:0 > 0 && x170:0 > -1 ---------------------------------------- (28) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f287_0_isZero_NONNULL(x1, x2, x3, x4, x5) -> f287_0_isZero_NONNULL(x1, x2, x3) ---------------------------------------- (29) Obligation: Rules: f287_0_isZero_NONNULL(x163:0, x164:0, x165:0) -> f287_0_isZero_NONNULL(x168:0, x169:0, x170:0) :|: x169:0 + 2 <= x164:0 && x168:0 + 2 <= x163:0 && x169:0 <= x165:0 && x170:0 + 3 <= x164:0 && x170:0 + 1 <= x165:0 && x163:0 > 2 && x164:0 > 2 && x165:0 > 0 && x168:0 > 0 && x169:0 > 0 && x170:0 > -1 ---------------------------------------- (30) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f287_0_isZero_NONNULL(INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (31) Obligation: Rules: f287_0_isZero_NONNULL(x163:0, x164:0, x165:0) -> f287_0_isZero_NONNULL(x168:0, x169:0, x170:0) :|: x169:0 + 2 <= x164:0 && x168:0 + 2 <= x163:0 && x169:0 <= x165:0 && x170:0 + 3 <= x164:0 && x170:0 + 1 <= x165:0 && x163:0 > 2 && x164:0 > 2 && x165:0 > 0 && x168:0 > 0 && x169:0 > 0 && x170:0 > -1 ---------------------------------------- (32) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (33) Obligation: Rules: f287_0_isZero_NONNULL(x163:0:0, x164:0:0, x165:0:0) -> f287_0_isZero_NONNULL(x168:0:0, x169:0:0, x170:0:0) :|: x169:0:0 > 0 && x170:0:0 > -1 && x168:0:0 > 0 && x165:0:0 > 0 && x164:0:0 > 2 && x163:0:0 > 2 && x170:0:0 + 1 <= x165:0:0 && x170:0:0 + 3 <= x164:0:0 && x169:0:0 <= x165:0:0 && x168:0:0 + 2 <= x163:0:0 && x169:0:0 + 2 <= x164:0:0 ---------------------------------------- (34) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f287_0_isZero_NONNULL(x, x1, x2)] = -2 + x The following rules are decreasing: f287_0_isZero_NONNULL(x163:0:0, x164:0:0, x165:0:0) -> f287_0_isZero_NONNULL(x168:0:0, x169:0:0, x170:0:0) :|: x169:0:0 > 0 && x170:0:0 > -1 && x168:0:0 > 0 && x165:0:0 > 0 && x164:0:0 > 2 && x163:0:0 > 2 && x170:0:0 + 1 <= x165:0:0 && x170:0:0 + 3 <= x164:0:0 && x169:0:0 <= x165:0:0 && x168:0:0 + 2 <= x163:0:0 && x169:0:0 + 2 <= x164:0:0 The following rules are bounded: f287_0_isZero_NONNULL(x163:0:0, x164:0:0, x165:0:0) -> f287_0_isZero_NONNULL(x168:0:0, x169:0:0, x170:0:0) :|: x169:0:0 > 0 && x170:0:0 > -1 && x168:0:0 > 0 && x165:0:0 > 0 && x164:0:0 > 2 && x163:0:0 > 2 && x170:0:0 + 1 <= x165:0:0 && x170:0:0 + 3 <= x164:0:0 && x169:0:0 <= x165:0:0 && x168:0:0 + 2 <= x163:0:0 && x169:0:0 + 2 <= x164:0:0 ---------------------------------------- (35) YES ---------------------------------------- (36) Obligation: Termination digraph: Nodes: (1) f321_0_copy_NONNULL(x183, x184, x185, x186, x187) -> f321_0_copy_NONNULL(x188, x189, x190, x191, x192) :|: -1 <= x189 - 1 && 0 <= x188 - 1 && 0 <= x184 - 1 && 2 <= x183 - 1 && x189 + 1 <= x184 && x189 + 3 <= x183 && x188 <= x184 && x188 + 2 <= x183 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (37) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (38) Obligation: Rules: f321_0_copy_NONNULL(x183:0, x184:0, x185:0, x186:0, x187:0) -> f321_0_copy_NONNULL(x188:0, x189:0, x190:0, x191:0, x192:0) :|: x188:0 <= x184:0 && x188:0 + 2 <= x183:0 && x189:0 + 3 <= x183:0 && x189:0 + 1 <= x184:0 && x183:0 > 2 && x184:0 > 0 && x188:0 > 0 && x189:0 > -1 ---------------------------------------- (39) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f321_0_copy_NONNULL(x1, x2, x3, x4, x5) -> f321_0_copy_NONNULL(x1, x2) ---------------------------------------- (40) Obligation: Rules: f321_0_copy_NONNULL(x183:0, x184:0) -> f321_0_copy_NONNULL(x188:0, x189:0) :|: x188:0 <= x184:0 && x188:0 + 2 <= x183:0 && x189:0 + 3 <= x183:0 && x189:0 + 1 <= x184:0 && x183:0 > 2 && x184:0 > 0 && x188:0 > 0 && x189:0 > -1 ---------------------------------------- (41) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f321_0_copy_NONNULL(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (42) Obligation: Rules: f321_0_copy_NONNULL(x183:0, x184:0) -> f321_0_copy_NONNULL(x188:0, x189:0) :|: x188:0 <= x184:0 && x188:0 + 2 <= x183:0 && x189:0 + 3 <= x183:0 && x189:0 + 1 <= x184:0 && x183:0 > 2 && x184:0 > 0 && x188:0 > 0 && x189:0 > -1 ---------------------------------------- (43) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (44) Obligation: Rules: f321_0_copy_NONNULL(x183:0:0, x184:0:0) -> f321_0_copy_NONNULL(x188:0:0, x189:0:0) :|: x188:0:0 > 0 && x189:0:0 > -1 && x184:0:0 > 0 && x183:0:0 > 2 && x189:0:0 + 1 <= x184:0:0 && x189:0:0 + 3 <= x183:0:0 && x188:0:0 + 2 <= x183:0:0 && x188:0:0 <= x184:0:0 ---------------------------------------- (45) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f321_0_copy_NONNULL ] = 1/2*f321_0_copy_NONNULL_1 The following rules are decreasing: f321_0_copy_NONNULL(x183:0:0, x184:0:0) -> f321_0_copy_NONNULL(x188:0:0, x189:0:0) :|: x188:0:0 > 0 && x189:0:0 > -1 && x184:0:0 > 0 && x183:0:0 > 2 && x189:0:0 + 1 <= x184:0:0 && x189:0:0 + 3 <= x183:0:0 && x188:0:0 + 2 <= x183:0:0 && x188:0:0 <= x184:0:0 The following rules are bounded: f321_0_copy_NONNULL(x183:0:0, x184:0:0) -> f321_0_copy_NONNULL(x188:0:0, x189:0:0) :|: x188:0:0 > 0 && x189:0:0 > -1 && x184:0:0 > 0 && x183:0:0 > 2 && x189:0:0 + 1 <= x184:0:0 && x189:0:0 + 3 <= x183:0:0 && x188:0:0 + 2 <= x183:0:0 && x188:0:0 <= x184:0:0 ---------------------------------------- (46) YES