YES proof of prog.inttrs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IRSwT could be proven: (0) IRSwT (1) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (2) IRSwT (3) IRSwTTerminationDigraphProof [EQUIVALENT, 2088 ms] (4) AND (5) IRSwT (6) IntTRSCompressionProof [EQUIVALENT, 12 ms] (7) IRSwT (8) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (9) IRSwT (10) FilterProof [EQUIVALENT, 0 ms] (11) IntTRS (12) IntTRSCompressionProof [EQUIVALENT, 0 ms] (13) IntTRS (14) RankingReductionPairProof [EQUIVALENT, 12 ms] (15) YES (16) IRSwT (17) IntTRSCompressionProof [EQUIVALENT, 37 ms] (18) IRSwT (19) TempFilterProof [SOUND, 94 ms] (20) IntTRS (21) PolynomialOrderProcessor [EQUIVALENT, 23 ms] (22) IntTRS (23) RankingReductionPairProof [EQUIVALENT, 0 ms] (24) YES ---------------------------------------- (0) Obligation: Rules: f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f495_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && 0 <= arg2 - 1 && -1 <= arg1P - 1 f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1016_0_main_InvokeMethod(x6, x7, x9, x10, x11, x12) :|: -1 <= x13 - 1 && 0 <= x1 - 1 && x6 <= x && 0 <= x - 1 && 0 <= x6 - 1 && -1 <= x7 - 1 f348_0_createTree_Return(x15, x16, x17, x18, x19, x20) -> f1016_0_main_InvokeMethod(x21, x22, x23, x24, x25, x26) :|: x16 = x23 && -1 <= x22 - 1 && 0 <= x21 - 1 && 0 <= x15 - 1 && x22 + 1 <= x15 && x21 <= x15 f1016_0_main_InvokeMethod(x27, x28, x29, x30, x31, x32) -> f1034_0_growList_NONNULL(x33, x34, x35, x36, x37, x38) :|: 0 <= x39 - 1 && 1 <= x29 - 1 && x33 <= x28 && 0 <= x27 - 1 && -1 <= x28 - 1 && -1 <= x33 - 1 && x29 = x34 f495_0_createTree_GT(x40, x41, x42, x43, x44, x45) -> f998_0_createTree_GE(x46, x47, x48, x49, x50, x51) :|: x42 + 1 = x51 && x41 = x50 && 0 = x48 && x40 - 1 = x47 && x40 = x46 && -1 <= x49 - 1 && x42 <= x41 - 1 && 0 <= x42 - 1 && 0 <= x40 - 1 && -1 <= x41 - 1 f998_0_createTree_GE(x52, x53, x54, x55, x56, x57) -> f495_0_createTree_GT(x58, x59, x60, x61, x62, x63) :|: x57 = x60 && x56 = x59 && x53 - 1 = x58 && x53 - 1 <= x53 - 1 && -1 <= x53 - 1 && x53 - 1 <= x52 - 1 && x53 <= x52 - 1 && 1 <= x57 - 1 && 0 <= x52 - 1 && x54 <= x55 - 1 && 0 <= x55 - 1 f998_0_createTree_GE(x64, x65, x66, x67, x68, x69) -> f998_0_createTree_GE(x70, x71, x72, x73, x74, x75) :|: x69 = x75 && x68 = x74 && x67 = x73 && x66 + 1 = x72 && x65 = x71 && x64 = x70 && x65 - 1 <= x65 - 1 && -1 <= x65 - 1 && x65 - 1 <= x64 - 1 && x65 <= x64 - 1 && 1 <= x69 - 1 && 0 <= x64 - 1 && x66 <= x67 - 1 && 0 <= x67 - 1 f998_0_createTree_GE(x76, x77, x78, x79, x80, x81) -> f998_0_createTree_GE(x82, x83, x84, x85, x86, x87) :|: x80 = x86 && x79 = x85 && x78 + 1 = x84 && x77 = x83 && x76 = x82 && x77 - 1 <= x77 - 1 && -1 <= x77 - 1 && x77 - 1 <= x76 - 1 && x77 <= x76 - 1 && 1 <= x81 - 1 && 0 <= x76 - 1 && x78 <= x79 - 1 && 0 <= x79 - 1 f1034_0_growList_NONNULL(x88, x89, x90, x91, x92, x93) -> f1034_0_growList_NONNULL(x94, x95, x96, x97, x98, x99) :|: x89 = x95 && -1 <= x94 - 1 && 1 <= x88 - 1 && 1 <= x89 - 1 && x94 + 2 <= x88 f1034_0_growList_NONNULL(x100, x101, x102, x103, x104, x105) -> f1232_0_growList_InvokeMethod(x106, x107, x108, x109, x110, x111) :|: x101 = x109 && -1 <= x110 - 1 && -1 <= x107 - 1 && 4 <= x106 - 1 && 0 <= x100 - 1 && x110 + 1 <= x100 && 1 <= x101 - 1 && x107 + 1 <= x100 f1168_0_growTree_Return(x112, x113, x114, x115, x116, x117) -> f1232_0_growList_InvokeMethod(x118, x119, x120, x121, x122, x123) :|: x114 = x121 && x113 = x120 && x115 + 6 <= x112 && -1 <= x122 - 1 && -1 <= x119 - 1 && 5 <= x118 - 1 && -1 <= x116 - 1 && 5 <= x112 - 1 && x122 <= x116 && x122 + 2 <= x112 && x119 <= x116 && x119 + 2 <= x112 && x118 <= x112 f1034_0_growList_NONNULL(x124, x125, x126, x127, x128, x129) -> f1232_0_growList_InvokeMethod(x130, x131, x132, x133, x134, x135) :|: x125 = x133 && -1 <= x134 - 1 && -1 <= x131 - 1 && 7 <= x130 - 1 && 0 <= x124 - 1 && x134 + 1 <= x124 && x131 + 1 <= x124 && 1 <= x125 - 1 && x130 - 7 <= x124 f1232_0_growList_InvokeMethod(x136, x137, x138, x139, x140, x141) -> f1034_0_growList_NONNULL(x142, x143, x144, x145, x146, x147) :|: x139 = x143 && -1 <= x142 - 1 && -1 <= x140 - 1 && -1 <= x137 - 1 && 4 <= x136 - 1 && x142 <= x140 && x142 <= x137 && 1 <= x139 - 1 && x142 + 2 <= x136 f1034_0_growList_NONNULL(x148, x149, x150, x151, x152, x153) -> f1034_0_growList_NONNULL(x154, x155, x156, x157, x158, x159) :|: x149 = x155 && 0 <= x154 - 1 && 4 <= x148 - 1 && 1 <= x149 - 1 && x154 + 4 <= x148 __init(x160, x161, x162, x163, x164, x165) -> f1_0_main_Load(x166, x167, x168, x169, x170, x171) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5, arg6) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f495_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && 0 <= arg2 - 1 && -1 <= arg1P - 1 f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1016_0_main_InvokeMethod(x6, x7, x9, x10, x11, x12) :|: -1 <= x13 - 1 && 0 <= x1 - 1 && x6 <= x && 0 <= x - 1 && 0 <= x6 - 1 && -1 <= x7 - 1 f348_0_createTree_Return(x15, x16, x17, x18, x19, x20) -> f1016_0_main_InvokeMethod(x21, x22, x23, x24, x25, x26) :|: x16 = x23 && -1 <= x22 - 1 && 0 <= x21 - 1 && 0 <= x15 - 1 && x22 + 1 <= x15 && x21 <= x15 f1016_0_main_InvokeMethod(x27, x28, x29, x30, x31, x32) -> f1034_0_growList_NONNULL(x33, x34, x35, x36, x37, x38) :|: 0 <= x39 - 1 && 1 <= x29 - 1 && x33 <= x28 && 0 <= x27 - 1 && -1 <= x28 - 1 && -1 <= x33 - 1 && x29 = x34 f495_0_createTree_GT(x40, x41, x42, x43, x44, x45) -> f998_0_createTree_GE(x46, x47, x48, x49, x50, x51) :|: x42 + 1 = x51 && x41 = x50 && 0 = x48 && x40 - 1 = x47 && x40 = x46 && -1 <= x49 - 1 && x42 <= x41 - 1 && 0 <= x42 - 1 && 0 <= x40 - 1 && -1 <= x41 - 1 f998_0_createTree_GE(x52, x53, x54, x55, x56, x57) -> f495_0_createTree_GT(x58, x59, x60, x61, x62, x63) :|: x57 = x60 && x56 = x59 && x53 - 1 = x58 && x53 - 1 <= x53 - 1 && -1 <= x53 - 1 && x53 - 1 <= x52 - 1 && x53 <= x52 - 1 && 1 <= x57 - 1 && 0 <= x52 - 1 && x54 <= x55 - 1 && 0 <= x55 - 1 f998_0_createTree_GE(x64, x65, x66, x67, x68, x69) -> f998_0_createTree_GE(x70, x71, x72, x73, x74, x75) :|: x69 = x75 && x68 = x74 && x67 = x73 && x66 + 1 = x72 && x65 = x71 && x64 = x70 && x65 - 1 <= x65 - 1 && -1 <= x65 - 1 && x65 - 1 <= x64 - 1 && x65 <= x64 - 1 && 1 <= x69 - 1 && 0 <= x64 - 1 && x66 <= x67 - 1 && 0 <= x67 - 1 f998_0_createTree_GE(x76, x77, x78, x79, x80, x81) -> f998_0_createTree_GE(x82, x83, x84, x85, x86, x87) :|: x80 = x86 && x79 = x85 && x78 + 1 = x84 && x77 = x83 && x76 = x82 && x77 - 1 <= x77 - 1 && -1 <= x77 - 1 && x77 - 1 <= x76 - 1 && x77 <= x76 - 1 && 1 <= x81 - 1 && 0 <= x76 - 1 && x78 <= x79 - 1 && 0 <= x79 - 1 f1034_0_growList_NONNULL(x88, x89, x90, x91, x92, x93) -> f1034_0_growList_NONNULL(x94, x95, x96, x97, x98, x99) :|: x89 = x95 && -1 <= x94 - 1 && 1 <= x88 - 1 && 1 <= x89 - 1 && x94 + 2 <= x88 f1034_0_growList_NONNULL(x100, x101, x102, x103, x104, x105) -> f1232_0_growList_InvokeMethod(x106, x107, x108, x109, x110, x111) :|: x101 = x109 && -1 <= x110 - 1 && -1 <= x107 - 1 && 4 <= x106 - 1 && 0 <= x100 - 1 && x110 + 1 <= x100 && 1 <= x101 - 1 && x107 + 1 <= x100 f1168_0_growTree_Return(x112, x113, x114, x115, x116, x117) -> f1232_0_growList_InvokeMethod(x118, x119, x120, x121, x122, x123) :|: x114 = x121 && x113 = x120 && x115 + 6 <= x112 && -1 <= x122 - 1 && -1 <= x119 - 1 && 5 <= x118 - 1 && -1 <= x116 - 1 && 5 <= x112 - 1 && x122 <= x116 && x122 + 2 <= x112 && x119 <= x116 && x119 + 2 <= x112 && x118 <= x112 f1034_0_growList_NONNULL(x124, x125, x126, x127, x128, x129) -> f1232_0_growList_InvokeMethod(x130, x131, x132, x133, x134, x135) :|: x125 = x133 && -1 <= x134 - 1 && -1 <= x131 - 1 && 7 <= x130 - 1 && 0 <= x124 - 1 && x134 + 1 <= x124 && x131 + 1 <= x124 && 1 <= x125 - 1 && x130 - 7 <= x124 f1232_0_growList_InvokeMethod(x136, x137, x138, x139, x140, x141) -> f1034_0_growList_NONNULL(x142, x143, x144, x145, x146, x147) :|: x139 = x143 && -1 <= x142 - 1 && -1 <= x140 - 1 && -1 <= x137 - 1 && 4 <= x136 - 1 && x142 <= x140 && x142 <= x137 && 1 <= x139 - 1 && x142 + 2 <= x136 f1034_0_growList_NONNULL(x148, x149, x150, x151, x152, x153) -> f1034_0_growList_NONNULL(x154, x155, x156, x157, x158, x159) :|: x149 = x155 && 0 <= x154 - 1 && 4 <= x148 - 1 && 1 <= x149 - 1 && x154 + 4 <= x148 __init(x160, x161, x162, x163, x164, x165) -> f1_0_main_Load(x166, x167, x168, x169, x170, x171) :|: 0 <= 0 Start term: __init(arg1, arg2, arg3, arg4, arg5, arg6) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1_0_main_Load(arg1, arg2, arg3, arg4, arg5, arg6) -> f495_0_createTree_GT(arg1P, arg2P, arg3P, arg4P, arg5P, arg6P) :|: 1 = arg3P && arg2 = arg2P && 0 <= arg1 - 1 && 0 <= arg2 - 1 && -1 <= arg1P - 1 (2) f1_0_main_Load(x, x1, x2, x3, x4, x5) -> f1016_0_main_InvokeMethod(x6, x7, x9, x10, x11, x12) :|: -1 <= x13 - 1 && 0 <= x1 - 1 && x6 <= x && 0 <= x - 1 && 0 <= x6 - 1 && -1 <= x7 - 1 (3) f348_0_createTree_Return(x15, x16, x17, x18, x19, x20) -> f1016_0_main_InvokeMethod(x21, x22, x23, x24, x25, x26) :|: x16 = x23 && -1 <= x22 - 1 && 0 <= x21 - 1 && 0 <= x15 - 1 && x22 + 1 <= x15 && x21 <= x15 (4) f1016_0_main_InvokeMethod(x27, x28, x29, x30, x31, x32) -> f1034_0_growList_NONNULL(x33, x34, x35, x36, x37, x38) :|: 0 <= x39 - 1 && 1 <= x29 - 1 && x33 <= x28 && 0 <= x27 - 1 && -1 <= x28 - 1 && -1 <= x33 - 1 && x29 = x34 (5) f495_0_createTree_GT(x40, x41, x42, x43, x44, x45) -> f998_0_createTree_GE(x46, x47, x48, x49, x50, x51) :|: x42 + 1 = x51 && x41 = x50 && 0 = x48 && x40 - 1 = x47 && x40 = x46 && -1 <= x49 - 1 && x42 <= x41 - 1 && 0 <= x42 - 1 && 0 <= x40 - 1 && -1 <= x41 - 1 (6) f998_0_createTree_GE(x52, x53, x54, x55, x56, x57) -> f495_0_createTree_GT(x58, x59, x60, x61, x62, x63) :|: x57 = x60 && x56 = x59 && x53 - 1 = x58 && x53 - 1 <= x53 - 1 && -1 <= x53 - 1 && x53 - 1 <= x52 - 1 && x53 <= x52 - 1 && 1 <= x57 - 1 && 0 <= x52 - 1 && x54 <= x55 - 1 && 0 <= x55 - 1 (7) f998_0_createTree_GE(x64, x65, x66, x67, x68, x69) -> f998_0_createTree_GE(x70, x71, x72, x73, x74, x75) :|: x69 = x75 && x68 = x74 && x67 = x73 && x66 + 1 = x72 && x65 = x71 && x64 = x70 && x65 - 1 <= x65 - 1 && -1 <= x65 - 1 && x65 - 1 <= x64 - 1 && x65 <= x64 - 1 && 1 <= x69 - 1 && 0 <= x64 - 1 && x66 <= x67 - 1 && 0 <= x67 - 1 (8) f998_0_createTree_GE(x76, x77, x78, x79, x80, x81) -> f998_0_createTree_GE(x82, x83, x84, x85, x86, x87) :|: x80 = x86 && x79 = x85 && x78 + 1 = x84 && x77 = x83 && x76 = x82 && x77 - 1 <= x77 - 1 && -1 <= x77 - 1 && x77 - 1 <= x76 - 1 && x77 <= x76 - 1 && 1 <= x81 - 1 && 0 <= x76 - 1 && x78 <= x79 - 1 && 0 <= x79 - 1 (9) f1034_0_growList_NONNULL(x88, x89, x90, x91, x92, x93) -> f1034_0_growList_NONNULL(x94, x95, x96, x97, x98, x99) :|: x89 = x95 && -1 <= x94 - 1 && 1 <= x88 - 1 && 1 <= x89 - 1 && x94 + 2 <= x88 (10) f1034_0_growList_NONNULL(x100, x101, x102, x103, x104, x105) -> f1232_0_growList_InvokeMethod(x106, x107, x108, x109, x110, x111) :|: x101 = x109 && -1 <= x110 - 1 && -1 <= x107 - 1 && 4 <= x106 - 1 && 0 <= x100 - 1 && x110 + 1 <= x100 && 1 <= x101 - 1 && x107 + 1 <= x100 (11) f1168_0_growTree_Return(x112, x113, x114, x115, x116, x117) -> f1232_0_growList_InvokeMethod(x118, x119, x120, x121, x122, x123) :|: x114 = x121 && x113 = x120 && x115 + 6 <= x112 && -1 <= x122 - 1 && -1 <= x119 - 1 && 5 <= x118 - 1 && -1 <= x116 - 1 && 5 <= x112 - 1 && x122 <= x116 && x122 + 2 <= x112 && x119 <= x116 && x119 + 2 <= x112 && x118 <= x112 (12) f1034_0_growList_NONNULL(x124, x125, x126, x127, x128, x129) -> f1232_0_growList_InvokeMethod(x130, x131, x132, x133, x134, x135) :|: x125 = x133 && -1 <= x134 - 1 && -1 <= x131 - 1 && 7 <= x130 - 1 && 0 <= x124 - 1 && x134 + 1 <= x124 && x131 + 1 <= x124 && 1 <= x125 - 1 && x130 - 7 <= x124 (13) f1232_0_growList_InvokeMethod(x136, x137, x138, x139, x140, x141) -> f1034_0_growList_NONNULL(x142, x143, x144, x145, x146, x147) :|: x139 = x143 && -1 <= x142 - 1 && -1 <= x140 - 1 && -1 <= x137 - 1 && 4 <= x136 - 1 && x142 <= x140 && x142 <= x137 && 1 <= x139 - 1 && x142 + 2 <= x136 (14) f1034_0_growList_NONNULL(x148, x149, x150, x151, x152, x153) -> f1034_0_growList_NONNULL(x154, x155, x156, x157, x158, x159) :|: x149 = x155 && 0 <= x154 - 1 && 4 <= x148 - 1 && 1 <= x149 - 1 && x154 + 4 <= x148 (15) __init(x160, x161, x162, x163, x164, x165) -> f1_0_main_Load(x166, x167, x168, x169, x170, x171) :|: 0 <= 0 Arcs: (1) -> (5) (2) -> (4) (3) -> (4) (4) -> (9), (10), (12), (14) (5) -> (6), (7), (8) (6) -> (5) (7) -> (6), (7), (8) (8) -> (6), (7), (8) (9) -> (9), (10), (12), (14) (10) -> (13) (11) -> (13) (12) -> (13) (13) -> (9), (10), (12), (14) (14) -> (9), (10), (12), (14) (15) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Termination digraph: Nodes: (1) f1034_0_growList_NONNULL(x88, x89, x90, x91, x92, x93) -> f1034_0_growList_NONNULL(x94, x95, x96, x97, x98, x99) :|: x89 = x95 && -1 <= x94 - 1 && 1 <= x88 - 1 && 1 <= x89 - 1 && x94 + 2 <= x88 (2) f1232_0_growList_InvokeMethod(x136, x137, x138, x139, x140, x141) -> f1034_0_growList_NONNULL(x142, x143, x144, x145, x146, x147) :|: x139 = x143 && -1 <= x142 - 1 && -1 <= x140 - 1 && -1 <= x137 - 1 && 4 <= x136 - 1 && x142 <= x140 && x142 <= x137 && 1 <= x139 - 1 && x142 + 2 <= x136 (3) f1034_0_growList_NONNULL(x124, x125, x126, x127, x128, x129) -> f1232_0_growList_InvokeMethod(x130, x131, x132, x133, x134, x135) :|: x125 = x133 && -1 <= x134 - 1 && -1 <= x131 - 1 && 7 <= x130 - 1 && 0 <= x124 - 1 && x134 + 1 <= x124 && x131 + 1 <= x124 && 1 <= x125 - 1 && x130 - 7 <= x124 (4) f1034_0_growList_NONNULL(x100, x101, x102, x103, x104, x105) -> f1232_0_growList_InvokeMethod(x106, x107, x108, x109, x110, x111) :|: x101 = x109 && -1 <= x110 - 1 && -1 <= x107 - 1 && 4 <= x106 - 1 && 0 <= x100 - 1 && x110 + 1 <= x100 && 1 <= x101 - 1 && x107 + 1 <= x100 (5) f1034_0_growList_NONNULL(x148, x149, x150, x151, x152, x153) -> f1034_0_growList_NONNULL(x154, x155, x156, x157, x158, x159) :|: x149 = x155 && 0 <= x154 - 1 && 4 <= x148 - 1 && 1 <= x149 - 1 && x154 + 4 <= x148 Arcs: (1) -> (1), (3), (4), (5) (2) -> (1), (3), (4), (5) (3) -> (2) (4) -> (2) (5) -> (1), (3), (4), (5) This digraph is fully evaluated! ---------------------------------------- (6) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (7) Obligation: Rules: f1034_0_growList_NONNULL(x124:0, x125:0, x126:0, x127:0, x128:0, x129:0) -> f1034_0_growList_NONNULL(x142:0, x125:0, x144:0, x145:0, x146:0, x147:0) :|: x142:0 + 2 <= x130:0 && x130:0 - 7 <= x124:0 && x125:0 > 1 && x131:0 + 1 <= x124:0 && x142:0 <= x131:0 && x134:0 + 1 <= x124:0 && x142:0 <= x134:0 && x124:0 > 0 && x131:0 > -1 && x134:0 > -1 && x130:0 > 7 && x142:0 > -1 f1034_0_growList_NONNULL(x, x1, x2, x3, x4, x5) -> f1034_0_growList_NONNULL(x6, x1, x7, x8, x9, x10) :|: x6 + 2 <= x11 && x12 + 1 <= x && x1 > 1 && x13 + 1 <= x && x6 <= x12 && x > 0 && x6 <= x13 && x11 > 4 && x12 > -1 && x6 > -1 && x13 > -1 f1034_0_growList_NONNULL(x88:0, x89:0, x90:0, x91:0, x92:0, x93:0) -> f1034_0_growList_NONNULL(x94:0, x89:0, x96:0, x97:0, x98:0, x99:0) :|: x89:0 > 1 && x94:0 + 2 <= x88:0 && x94:0 > -1 && x88:0 > 1 f1034_0_growList_NONNULL(x148:0, x149:0, x150:0, x151:0, x152:0, x153:0) -> f1034_0_growList_NONNULL(x154:0, x149:0, x156:0, x157:0, x158:0, x159:0) :|: x149:0 > 1 && x154:0 + 4 <= x148:0 && x154:0 > 0 && x148:0 > 4 ---------------------------------------- (8) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1034_0_growList_NONNULL(x1, x2, x3, x4, x5, x6) -> f1034_0_growList_NONNULL(x1, x2) ---------------------------------------- (9) Obligation: Rules: f1034_0_growList_NONNULL(x124:0, x125:0) -> f1034_0_growList_NONNULL(x142:0, x125:0) :|: x142:0 + 2 <= x130:0 && x130:0 - 7 <= x124:0 && x125:0 > 1 && x131:0 + 1 <= x124:0 && x142:0 <= x131:0 && x134:0 + 1 <= x124:0 && x142:0 <= x134:0 && x124:0 > 0 && x131:0 > -1 && x134:0 > -1 && x130:0 > 7 && x142:0 > -1 f1034_0_growList_NONNULL(x, x1) -> f1034_0_growList_NONNULL(x6, x1) :|: x6 + 2 <= x11 && x12 + 1 <= x && x1 > 1 && x13 + 1 <= x && x6 <= x12 && x > 0 && x6 <= x13 && x11 > 4 && x12 > -1 && x6 > -1 && x13 > -1 f1034_0_growList_NONNULL(x88:0, x89:0) -> f1034_0_growList_NONNULL(x94:0, x89:0) :|: x89:0 > 1 && x94:0 + 2 <= x88:0 && x94:0 > -1 && x88:0 > 1 f1034_0_growList_NONNULL(x148:0, x149:0) -> f1034_0_growList_NONNULL(x154:0, x149:0) :|: x149:0 > 1 && x154:0 + 4 <= x148:0 && x154:0 > 0 && x148:0 > 4 ---------------------------------------- (10) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f1034_0_growList_NONNULL(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (11) Obligation: Rules: f1034_0_growList_NONNULL(x124:0, x125:0) -> f1034_0_growList_NONNULL(x142:0, x125:0) :|: x142:0 + 2 <= x130:0 && x130:0 - 7 <= x124:0 && x125:0 > 1 && x131:0 + 1 <= x124:0 && x142:0 <= x131:0 && x134:0 + 1 <= x124:0 && x142:0 <= x134:0 && x124:0 > 0 && x131:0 > -1 && x134:0 > -1 && x130:0 > 7 && x142:0 > -1 f1034_0_growList_NONNULL(x, x1) -> f1034_0_growList_NONNULL(x6, x1) :|: x6 + 2 <= x11 && x12 + 1 <= x && x1 > 1 && x13 + 1 <= x && x6 <= x12 && x > 0 && x6 <= x13 && x11 > 4 && x12 > -1 && x6 > -1 && x13 > -1 f1034_0_growList_NONNULL(x88:0, x89:0) -> f1034_0_growList_NONNULL(x94:0, x89:0) :|: x89:0 > 1 && x94:0 + 2 <= x88:0 && x94:0 > -1 && x88:0 > 1 f1034_0_growList_NONNULL(x148:0, x149:0) -> f1034_0_growList_NONNULL(x154:0, x149:0) :|: x149:0 > 1 && x154:0 + 4 <= x148:0 && x154:0 > 0 && x148:0 > 4 ---------------------------------------- (12) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (13) Obligation: Rules: f1034_0_growList_NONNULL(x124:0:0, x125:0:0) -> f1034_0_growList_NONNULL(x142:0:0, x125:0:0) :|: x130:0:0 > 7 && x142:0:0 > -1 && x134:0:0 > -1 && x131:0:0 > -1 && x124:0:0 > 0 && x142:0:0 <= x134:0:0 && x134:0:0 + 1 <= x124:0:0 && x142:0:0 <= x131:0:0 && x131:0:0 + 1 <= x124:0:0 && x125:0:0 > 1 && x130:0:0 - 7 <= x124:0:0 && x142:0:0 + 2 <= x130:0:0 f1034_0_growList_NONNULL(x88:0:0, x89:0:0) -> f1034_0_growList_NONNULL(x94:0:0, x89:0:0) :|: x94:0:0 > -1 && x88:0:0 > 1 && x94:0:0 + 2 <= x88:0:0 && x89:0:0 > 1 f1034_0_growList_NONNULL(x:0, x1:0) -> f1034_0_growList_NONNULL(x6:0, x1:0) :|: x6:0 > -1 && x13:0 > -1 && x12:0 > -1 && x11:0 > 4 && x6:0 <= x13:0 && x:0 > 0 && x6:0 <= x12:0 && x:0 >= x13:0 + 1 && x1:0 > 1 && x:0 >= x12:0 + 1 && x6:0 + 2 <= x11:0 f1034_0_growList_NONNULL(x148:0:0, x149:0:0) -> f1034_0_growList_NONNULL(x154:0:0, x149:0:0) :|: x154:0:0 > 0 && x148:0:0 > 4 && x154:0:0 + 4 <= x148:0:0 && x149:0:0 > 1 ---------------------------------------- (14) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1034_0_growList_NONNULL ] = f1034_0_growList_NONNULL_1 The following rules are decreasing: f1034_0_growList_NONNULL(x124:0:0, x125:0:0) -> f1034_0_growList_NONNULL(x142:0:0, x125:0:0) :|: x130:0:0 > 7 && x142:0:0 > -1 && x134:0:0 > -1 && x131:0:0 > -1 && x124:0:0 > 0 && x142:0:0 <= x134:0:0 && x134:0:0 + 1 <= x124:0:0 && x142:0:0 <= x131:0:0 && x131:0:0 + 1 <= x124:0:0 && x125:0:0 > 1 && x130:0:0 - 7 <= x124:0:0 && x142:0:0 + 2 <= x130:0:0 f1034_0_growList_NONNULL(x88:0:0, x89:0:0) -> f1034_0_growList_NONNULL(x94:0:0, x89:0:0) :|: x94:0:0 > -1 && x88:0:0 > 1 && x94:0:0 + 2 <= x88:0:0 && x89:0:0 > 1 f1034_0_growList_NONNULL(x:0, x1:0) -> f1034_0_growList_NONNULL(x6:0, x1:0) :|: x6:0 > -1 && x13:0 > -1 && x12:0 > -1 && x11:0 > 4 && x6:0 <= x13:0 && x:0 > 0 && x6:0 <= x12:0 && x:0 >= x13:0 + 1 && x1:0 > 1 && x:0 >= x12:0 + 1 && x6:0 + 2 <= x11:0 f1034_0_growList_NONNULL(x148:0:0, x149:0:0) -> f1034_0_growList_NONNULL(x154:0:0, x149:0:0) :|: x154:0:0 > 0 && x148:0:0 > 4 && x154:0:0 + 4 <= x148:0:0 && x149:0:0 > 1 The following rules are bounded: f1034_0_growList_NONNULL(x124:0:0, x125:0:0) -> f1034_0_growList_NONNULL(x142:0:0, x125:0:0) :|: x130:0:0 > 7 && x142:0:0 > -1 && x134:0:0 > -1 && x131:0:0 > -1 && x124:0:0 > 0 && x142:0:0 <= x134:0:0 && x134:0:0 + 1 <= x124:0:0 && x142:0:0 <= x131:0:0 && x131:0:0 + 1 <= x124:0:0 && x125:0:0 > 1 && x130:0:0 - 7 <= x124:0:0 && x142:0:0 + 2 <= x130:0:0 f1034_0_growList_NONNULL(x88:0:0, x89:0:0) -> f1034_0_growList_NONNULL(x94:0:0, x89:0:0) :|: x94:0:0 > -1 && x88:0:0 > 1 && x94:0:0 + 2 <= x88:0:0 && x89:0:0 > 1 f1034_0_growList_NONNULL(x:0, x1:0) -> f1034_0_growList_NONNULL(x6:0, x1:0) :|: x6:0 > -1 && x13:0 > -1 && x12:0 > -1 && x11:0 > 4 && x6:0 <= x13:0 && x:0 > 0 && x6:0 <= x12:0 && x:0 >= x13:0 + 1 && x1:0 > 1 && x:0 >= x12:0 + 1 && x6:0 + 2 <= x11:0 f1034_0_growList_NONNULL(x148:0:0, x149:0:0) -> f1034_0_growList_NONNULL(x154:0:0, x149:0:0) :|: x154:0:0 > 0 && x148:0:0 > 4 && x154:0:0 + 4 <= x148:0:0 && x149:0:0 > 1 ---------------------------------------- (15) YES ---------------------------------------- (16) Obligation: Termination digraph: Nodes: (1) f495_0_createTree_GT(x40, x41, x42, x43, x44, x45) -> f998_0_createTree_GE(x46, x47, x48, x49, x50, x51) :|: x42 + 1 = x51 && x41 = x50 && 0 = x48 && x40 - 1 = x47 && x40 = x46 && -1 <= x49 - 1 && x42 <= x41 - 1 && 0 <= x42 - 1 && 0 <= x40 - 1 && -1 <= x41 - 1 (2) f998_0_createTree_GE(x52, x53, x54, x55, x56, x57) -> f495_0_createTree_GT(x58, x59, x60, x61, x62, x63) :|: x57 = x60 && x56 = x59 && x53 - 1 = x58 && x53 - 1 <= x53 - 1 && -1 <= x53 - 1 && x53 - 1 <= x52 - 1 && x53 <= x52 - 1 && 1 <= x57 - 1 && 0 <= x52 - 1 && x54 <= x55 - 1 && 0 <= x55 - 1 (3) f998_0_createTree_GE(x64, x65, x66, x67, x68, x69) -> f998_0_createTree_GE(x70, x71, x72, x73, x74, x75) :|: x69 = x75 && x68 = x74 && x67 = x73 && x66 + 1 = x72 && x65 = x71 && x64 = x70 && x65 - 1 <= x65 - 1 && -1 <= x65 - 1 && x65 - 1 <= x64 - 1 && x65 <= x64 - 1 && 1 <= x69 - 1 && 0 <= x64 - 1 && x66 <= x67 - 1 && 0 <= x67 - 1 (4) f998_0_createTree_GE(x76, x77, x78, x79, x80, x81) -> f998_0_createTree_GE(x82, x83, x84, x85, x86, x87) :|: x80 = x86 && x79 = x85 && x78 + 1 = x84 && x77 = x83 && x76 = x82 && x77 - 1 <= x77 - 1 && -1 <= x77 - 1 && x77 - 1 <= x76 - 1 && x77 <= x76 - 1 && 1 <= x81 - 1 && 0 <= x76 - 1 && x78 <= x79 - 1 && 0 <= x79 - 1 Arcs: (1) -> (2), (3), (4) (2) -> (1) (3) -> (2), (3), (4) (4) -> (2), (3), (4) This digraph is fully evaluated! ---------------------------------------- (17) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (18) Obligation: Rules: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, x78:0 + 1, x79:0, x80:0, x87:0) :|: x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1 f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, x66:0 + 1, x67:0, x68:0, x69:0) :|: x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1 f998_0_createTree_GE(x52:0, x53:0, x54:0, x55:0, x50:0, x57:0) -> f998_0_createTree_GE(x53:0 - 1, x53:0 - 2, 0, x49:0, x50:0, x57:0 + 1) :|: x50:0 > -1 && x55:0 > 0 && x55:0 - 1 >= x54:0 && x52:0 > 0 && x57:0 <= x50:0 - 1 && x53:0 <= x52:0 - 1 && x49:0 > -1 && x53:0 - 1 <= x52:0 - 1 && x57:0 > 1 && x53:0 > 1 ---------------------------------------- (19) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f998_0_createTree_GE(INTEGER, INTEGER, VARIABLE, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (20) Obligation: Rules: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, c, x79:0, x80:0, x87:0) :|: c = x78:0 + 1 && (x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1) f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, c1, x67:0, x68:0, x69:0) :|: c1 = x66:0 + 1 && (x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1) f998_0_createTree_GE(x52:0, x53:0, x54:0, x55:0, x50:0, x57:0) -> f998_0_createTree_GE(c2, c3, c4, x49:0, x50:0, c5) :|: c5 = x57:0 + 1 && (c4 = 0 && (c3 = x53:0 - 2 && c2 = x53:0 - 1)) && (x50:0 > -1 && x55:0 > 0 && x55:0 - 1 >= x54:0 && x52:0 > 0 && x57:0 <= x50:0 - 1 && x53:0 <= x52:0 - 1 && x49:0 > -1 && x53:0 - 1 <= x52:0 - 1 && x57:0 > 1 && x53:0 > 1) ---------------------------------------- (21) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f998_0_createTree_GE(x, x1, x2, x3, x4, x5)] = 1 + x The following rules are decreasing: f998_0_createTree_GE(x52:0, x53:0, x54:0, x55:0, x50:0, x57:0) -> f998_0_createTree_GE(c2, c3, c4, x49:0, x50:0, c5) :|: c5 = x57:0 + 1 && (c4 = 0 && (c3 = x53:0 - 2 && c2 = x53:0 - 1)) && (x50:0 > -1 && x55:0 > 0 && x55:0 - 1 >= x54:0 && x52:0 > 0 && x57:0 <= x50:0 - 1 && x53:0 <= x52:0 - 1 && x49:0 > -1 && x53:0 - 1 <= x52:0 - 1 && x57:0 > 1 && x53:0 > 1) The following rules are bounded: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, c, x79:0, x80:0, x87:0) :|: c = x78:0 + 1 && (x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1) f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, c1, x67:0, x68:0, x69:0) :|: c1 = x66:0 + 1 && (x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1) f998_0_createTree_GE(x52:0, x53:0, x54:0, x55:0, x50:0, x57:0) -> f998_0_createTree_GE(c2, c3, c4, x49:0, x50:0, c5) :|: c5 = x57:0 + 1 && (c4 = 0 && (c3 = x53:0 - 2 && c2 = x53:0 - 1)) && (x50:0 > -1 && x55:0 > 0 && x55:0 - 1 >= x54:0 && x52:0 > 0 && x57:0 <= x50:0 - 1 && x53:0 <= x52:0 - 1 && x49:0 > -1 && x53:0 - 1 <= x52:0 - 1 && x57:0 > 1 && x53:0 > 1) ---------------------------------------- (22) Obligation: Rules: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, c, x79:0, x80:0, x87:0) :|: c = x78:0 + 1 && (x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1) f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, c1, x67:0, x68:0, x69:0) :|: c1 = x66:0 + 1 && (x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1) ---------------------------------------- (23) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f998_0_createTree_GE ] = f998_0_createTree_GE_4 + -1*f998_0_createTree_GE_3 The following rules are decreasing: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, c, x79:0, x80:0, x87:0) :|: c = x78:0 + 1 && (x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1) f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, c1, x67:0, x68:0, x69:0) :|: c1 = x66:0 + 1 && (x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1) The following rules are bounded: f998_0_createTree_GE(x76:0, x77:0, x78:0, x79:0, x80:0, x81:0) -> f998_0_createTree_GE(x76:0, x77:0, c, x79:0, x80:0, x87:0) :|: c = x78:0 + 1 && (x79:0 - 1 >= x78:0 && x79:0 > 0 && x76:0 > 0 && x81:0 > 1 && x77:0 <= x76:0 - 1 && x77:0 > -1 && x77:0 - 1 <= x76:0 - 1) f998_0_createTree_GE(x64:0, x65:0, x66:0, x67:0, x68:0, x69:0) -> f998_0_createTree_GE(x64:0, x65:0, c1, x67:0, x68:0, x69:0) :|: c1 = x66:0 + 1 && (x67:0 - 1 >= x66:0 && x67:0 > 0 && x64:0 > 0 && x69:0 > 1 && x65:0 <= x64:0 - 1 && x65:0 > -1 && x65:0 - 1 <= x64:0 - 1) ---------------------------------------- (24) YES