24.02/6.89 YES 24.02/6.90 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 24.02/6.90 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 24.02/6.90 24.02/6.90 24.02/6.90 Termination of the given C Problem could be proven: 24.02/6.90 24.02/6.90 (0) C Problem 24.02/6.90 (1) CToIRSProof [EQUIVALENT, 0 ms] 24.02/6.90 (2) IntTRS 24.02/6.90 (3) TerminationGraphProcessor [SOUND, 132 ms] 24.02/6.90 (4) IntTRS 24.02/6.90 (5) IntTRSCompressionProof [EQUIVALENT, 42 ms] 24.02/6.90 (6) IntTRS 24.02/6.90 (7) PolynomialOrderProcessor [EQUIVALENT, 26 ms] 24.02/6.90 (8) AND 24.02/6.90 (9) IntTRS 24.02/6.90 (10) IntTRSCompressionProof [EQUIVALENT, 0 ms] 24.02/6.90 (11) IntTRS 24.02/6.90 (12) PolynomialOrderProcessor [EQUIVALENT, 8 ms] 24.02/6.90 (13) IntTRS 24.02/6.90 (14) TerminationGraphProcessor [EQUIVALENT, 22 ms] 24.02/6.90 (15) AND 24.02/6.90 (16) IntTRS 24.02/6.90 (17) IntTRSCompressionProof [EQUIVALENT, 0 ms] 24.02/6.90 (18) IntTRS 24.02/6.90 (19) RankingReductionPairProof [EQUIVALENT, 8 ms] 24.02/6.90 (20) YES 24.02/6.90 (21) IntTRS 24.02/6.90 (22) IntTRSCompressionProof [EQUIVALENT, 0 ms] 24.02/6.90 (23) IntTRS 24.02/6.90 (24) RankingReductionPairProof [EQUIVALENT, 4 ms] 24.02/6.90 (25) YES 24.02/6.90 (26) IntTRS 24.02/6.90 (27) TerminationGraphProcessor [EQUIVALENT, 0 ms] 24.02/6.90 (28) YES 24.02/6.90 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (0) 24.02/6.90 Obligation: 24.02/6.90 c file /export/starexec/sandbox/benchmark/theBenchmark.c 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (1) CToIRSProof (EQUIVALENT) 24.02/6.90 Parsed C Integer Program as IRS. 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (2) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f1(x, y, n, b) -> f2(x, y, x_1, b) :|: TRUE 24.02/6.90 f2(x1, x2, x3, x4) -> f3(x1, x2, x3, x5) :|: TRUE 24.02/6.90 f3(x6, x7, x8, x9) -> f4(x10, x7, x8, x9) :|: TRUE 24.02/6.90 f4(x11, x12, x13, x14) -> f5(x11, x15, x13, x14) :|: TRUE 24.02/6.90 f7(x16, x17, x18, x19) -> f10(x16, arith, x18, x19) :|: TRUE && arith = x17 + 1 24.02/6.90 f11(x20, x21, x22, x23) -> f14(x20, x21, x22, 1) :|: TRUE 24.02/6.90 f10(x24, x25, x26, x27) -> f11(x24, x25, x26, x27) :|: x28 < 0 24.02/6.90 f10(x100, x101, x102, x103) -> f11(x100, x101, x102, x103) :|: x104 > 0 24.02/6.90 f10(x29, x30, x31, x32) -> f12(x29, x30, x31, x32) :|: x33 = 0 24.02/6.90 f14(x34, x35, x36, x37) -> f13(x34, x35, x36, x37) :|: TRUE 24.02/6.90 f12(x38, x39, x40, x41) -> f13(x38, x39, x40, x41) :|: TRUE 24.02/6.90 f8(x105, x106, x107, x108) -> f15(x105, x109, x107, x108) :|: TRUE && x109 = x106 - 1 24.02/6.90 f16(x110, x111, x112, x113) -> f19(x114, x111, x112, x113) :|: TRUE && x114 = x110 - 1 24.02/6.90 f19(x50, x51, x52, x53) -> f20(x50, x51, x52, 0) :|: TRUE 24.02/6.90 f15(x54, x55, x56, x57) -> f16(x54, x55, x56, x57) :|: x58 < 0 24.02/6.90 f15(x115, x116, x117, x118) -> f16(x115, x116, x117, x118) :|: x119 > 0 24.02/6.90 f15(x59, x60, x61, x62) -> f17(x59, x60, x61, x62) :|: x63 = 0 24.02/6.90 f20(x64, x65, x66, x67) -> f18(x64, x65, x66, x67) :|: TRUE 24.02/6.90 f17(x68, x69, x70, x71) -> f18(x68, x69, x70, x71) :|: TRUE 24.02/6.90 f6(x72, x73, x74, x75) -> f7(x72, x73, x74, x75) :|: x75 = 0 24.02/6.90 f6(x76, x77, x78, x79) -> f8(x76, x77, x78, x79) :|: x79 < 0 24.02/6.90 f6(x120, x121, x122, x123) -> f8(x120, x121, x122, x123) :|: x123 > 0 24.02/6.90 f13(x80, x81, x82, x83) -> f9(x80, x81, x82, x83) :|: TRUE 24.02/6.90 f18(x84, x85, x86, x87) -> f9(x84, x85, x86, x87) :|: TRUE 24.02/6.90 f5(x88, x89, x90, x91) -> f6(x88, x89, x90, x91) :|: x88 >= 0 && 0 <= x89 && x89 <= x90 24.02/6.90 f9(x92, x93, x94, x95) -> f5(x92, x93, x94, x95) :|: TRUE 24.02/6.90 f5(x96, x97, x98, x99) -> f21(x96, x97, x98, x99) :|: x97 > x98 24.02/6.90 f5(x124, x125, x126, x127) -> f21(x124, x125, x126, x127) :|: x124 < 0 24.02/6.90 f5(x128, x129, x130, x131) -> f21(x128, x129, x130, x131) :|: 0 > x129 24.02/6.90 Start term: f1(x, y, n, b) 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (3) TerminationGraphProcessor (SOUND) 24.02/6.90 Constructed the termination graph and obtained one non-trivial SCC. 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (4) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f5(x88, x89, x90, x91) -> f6(x88, x89, x90, x91) :|: x88 >= 0 && 0 <= x89 && x89 <= x90 24.02/6.90 f9(x92, x93, x94, x95) -> f5(x92, x93, x94, x95) :|: TRUE 24.02/6.90 f13(x80, x81, x82, x83) -> f9(x80, x81, x82, x83) :|: TRUE 24.02/6.90 f14(x34, x35, x36, x37) -> f13(x34, x35, x36, x37) :|: TRUE 24.02/6.90 f11(x20, x21, x22, x23) -> f14(x20, x21, x22, 1) :|: TRUE 24.02/6.90 f10(x24, x25, x26, x27) -> f11(x24, x25, x26, x27) :|: x28 < 0 24.02/6.90 f7(x16, x17, x18, x19) -> f10(x16, arith, x18, x19) :|: TRUE && arith = x17 + 1 24.02/6.90 f6(x72, x73, x74, x75) -> f7(x72, x73, x74, x75) :|: x75 = 0 24.02/6.90 f10(x100, x101, x102, x103) -> f11(x100, x101, x102, x103) :|: x104 > 0 24.02/6.90 f12(x38, x39, x40, x41) -> f13(x38, x39, x40, x41) :|: TRUE 24.02/6.90 f10(x29, x30, x31, x32) -> f12(x29, x30, x31, x32) :|: x33 = 0 24.02/6.90 f18(x84, x85, x86, x87) -> f9(x84, x85, x86, x87) :|: TRUE 24.02/6.90 f20(x64, x65, x66, x67) -> f18(x64, x65, x66, x67) :|: TRUE 24.02/6.90 f19(x50, x51, x52, x53) -> f20(x50, x51, x52, 0) :|: TRUE 24.02/6.90 f16(x110, x111, x112, x113) -> f19(x114, x111, x112, x113) :|: TRUE && x114 = x110 - 1 24.02/6.90 f15(x54, x55, x56, x57) -> f16(x54, x55, x56, x57) :|: x58 < 0 24.02/6.90 f8(x105, x106, x107, x108) -> f15(x105, x109, x107, x108) :|: TRUE && x109 = x106 - 1 24.02/6.90 f6(x76, x77, x78, x79) -> f8(x76, x77, x78, x79) :|: x79 < 0 24.02/6.90 f6(x120, x121, x122, x123) -> f8(x120, x121, x122, x123) :|: x123 > 0 24.02/6.90 f15(x115, x116, x117, x118) -> f16(x115, x116, x117, x118) :|: x119 > 0 24.02/6.90 f17(x68, x69, x70, x71) -> f18(x68, x69, x70, x71) :|: TRUE 24.02/6.90 f15(x59, x60, x61, x62) -> f17(x59, x60, x61, x62) :|: x63 = 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (5) IntTRSCompressionProof (EQUIVALENT) 24.02/6.90 Compressed rules. 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (6) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x92:0, x93:0, x94:0, cons_0) -> f9(x92:0, x93:0 + 1, x94:0, 0) :|: x92:0 > -1 && x93:0 > -1 && x94:0 >= x93:0 && cons_0 = 0 24.02/6.90 f9(x, x1, x2, x3) -> f8(x, x1, x2, x3) :|: x2 >= x1 && x3 > 0 && x1 > -1 && x > -1 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x6 >= x5 && x8 > 0 && x5 > -1 && x4 > -1 && x7 = 0 24.02/6.90 f8(x105:0, x106:0, x107:0, x108:0) -> f9(x105:0, x106:0 - 1, x107:0, x108:0) :|: TRUE 24.02/6.90 f8(x9, x10, x11, x12) -> f9(x9 - 1, x10 - 1, x11, 0) :|: x13 > 0 24.02/6.90 f9(x14, x15, x16, x17) -> f9(x14, x15 + 1, x16, 1) :|: x16 >= x15 && x18 < 0 && x15 > -1 && x14 > -1 && x17 = 0 24.02/6.90 f9(x19, x20, x21, x22) -> f8(x19, x20, x21, x22) :|: x21 >= x20 && x22 < 0 && x20 > -1 && x19 > -1 24.02/6.90 f8(x23, x24, x25, x26) -> f9(x23 - 1, x24 - 1, x25, 0) :|: x27 < 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (7) PolynomialOrderProcessor (EQUIVALENT) 24.02/6.90 Found the following polynomial interpretation: 24.02/6.90 [f9(x, x1, x2, x3)] = x + x2 24.02/6.90 [f8(x4, x5, x6, x7)] = x4 + x6 24.02/6.90 24.02/6.90 The following rules are decreasing: 24.02/6.90 f8(x9, x10, x11, x12) -> f9(x9 - 1, x10 - 1, x11, 0) :|: x13 > 0 24.02/6.90 f8(x23, x24, x25, x26) -> f9(x23 - 1, x24 - 1, x25, 0) :|: x27 < 0 24.02/6.90 The following rules are bounded: 24.02/6.90 f9(x92:0, x93:0, x94:0, cons_0) -> f9(x92:0, x93:0 + 1, x94:0, 0) :|: x92:0 > -1 && x93:0 > -1 && x94:0 >= x93:0 && cons_0 = 0 24.02/6.90 f9(x, x1, x2, x3) -> f8(x, x1, x2, x3) :|: x2 >= x1 && x3 > 0 && x1 > -1 && x > -1 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x6 >= x5 && x8 > 0 && x5 > -1 && x4 > -1 && x7 = 0 24.02/6.90 f9(x14, x15, x16, x17) -> f9(x14, x15 + 1, x16, 1) :|: x16 >= x15 && x18 < 0 && x15 > -1 && x14 > -1 && x17 = 0 24.02/6.90 f9(x19, x20, x21, x22) -> f8(x19, x20, x21, x22) :|: x21 >= x20 && x22 < 0 && x20 > -1 && x19 > -1 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (8) 24.02/6.90 Complex Obligation (AND) 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (9) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x92:0, x93:0, x94:0, cons_0) -> f9(x92:0, x93:0 + 1, x94:0, 0) :|: x92:0 > -1 && x93:0 > -1 && x94:0 >= x93:0 && cons_0 = 0 24.02/6.90 f9(x, x1, x2, x3) -> f8(x, x1, x2, x3) :|: x2 >= x1 && x3 > 0 && x1 > -1 && x > -1 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x6 >= x5 && x8 > 0 && x5 > -1 && x4 > -1 && x7 = 0 24.02/6.90 f8(x105:0, x106:0, x107:0, x108:0) -> f9(x105:0, x106:0 - 1, x107:0, x108:0) :|: TRUE 24.02/6.90 f9(x14, x15, x16, x17) -> f9(x14, x15 + 1, x16, 1) :|: x16 >= x15 && x18 < 0 && x15 > -1 && x14 > -1 && x17 = 0 24.02/6.90 f9(x19, x20, x21, x22) -> f8(x19, x20, x21, x22) :|: x21 >= x20 && x22 < 0 && x20 > -1 && x19 > -1 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (10) IntTRSCompressionProof (EQUIVALENT) 24.02/6.90 Compressed rules. 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (11) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x:0, x1:0, x2:0, x3:0) -> f9(x:0, x1:0 - 1, x2:0, x3:0) :|: x1:0 > -1 && x:0 > -1 && x3:0 > 0 && x2:0 >= x1:0 24.02/6.90 f9(x4:0, x5:0, x6:0, cons_0) -> f9(x4:0, x5:0 + 1, x6:0, 1) :|: x5:0 > -1 && x4:0 > -1 && x8:0 > 0 && x6:0 >= x5:0 && cons_0 = 0 24.02/6.90 f9(x, x1, x2, x3) -> f9(x, x1 + 1, x2, 0) :|: x > -1 && x1 > -1 && x2 >= x1 && x3 = 0 24.02/6.90 f9(x19:0, x20:0, x21:0, x22:0) -> f9(x19:0, x20:0 - 1, x21:0, x22:0) :|: x20:0 > -1 && x19:0 > -1 && x22:0 < 0 && x21:0 >= x20:0 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x5 > -1 && x4 > -1 && x8 < 0 && x6 >= x5 && x7 = 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (12) PolynomialOrderProcessor (EQUIVALENT) 24.02/6.90 Found the following polynomial interpretation: 24.02/6.90 [f9(x, x1, x2, x3)] = -x3 24.02/6.90 24.02/6.90 The following rules are decreasing: 24.02/6.90 f9(x4:0, x5:0, x6:0, cons_0) -> f9(x4:0, x5:0 + 1, x6:0, 1) :|: x5:0 > -1 && x4:0 > -1 && x8:0 > 0 && x6:0 >= x5:0 && cons_0 = 0 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x5 > -1 && x4 > -1 && x8 < 0 && x6 >= x5 && x7 = 0 24.02/6.90 The following rules are bounded: 24.02/6.90 f9(x4:0, x5:0, x6:0, cons_0) -> f9(x4:0, x5:0 + 1, x6:0, 1) :|: x5:0 > -1 && x4:0 > -1 && x8:0 > 0 && x6:0 >= x5:0 && cons_0 = 0 24.02/6.90 f9(x, x1, x2, x3) -> f9(x, x1 + 1, x2, 0) :|: x > -1 && x1 > -1 && x2 >= x1 && x3 = 0 24.02/6.90 f9(x19:0, x20:0, x21:0, x22:0) -> f9(x19:0, x20:0 - 1, x21:0, x22:0) :|: x20:0 > -1 && x19:0 > -1 && x22:0 < 0 && x21:0 >= x20:0 24.02/6.90 f9(x4, x5, x6, x7) -> f9(x4, x5 + 1, x6, 1) :|: x5 > -1 && x4 > -1 && x8 < 0 && x6 >= x5 && x7 = 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (13) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x:0, x1:0, x2:0, x3:0) -> f9(x:0, x1:0 - 1, x2:0, x3:0) :|: x1:0 > -1 && x:0 > -1 && x3:0 > 0 && x2:0 >= x1:0 24.02/6.90 f9(x, x1, x2, x3) -> f9(x, x1 + 1, x2, 0) :|: x > -1 && x1 > -1 && x2 >= x1 && x3 = 0 24.02/6.90 f9(x19:0, x20:0, x21:0, x22:0) -> f9(x19:0, x20:0 - 1, x21:0, x22:0) :|: x20:0 > -1 && x19:0 > -1 && x22:0 < 0 && x21:0 >= x20:0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (14) TerminationGraphProcessor (EQUIVALENT) 24.02/6.90 Constructed the termination graph and obtained 2 non-trivial SCCs. 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (15) 24.02/6.90 Complex Obligation (AND) 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (16) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x:0, x1:0, x2:0, x3:0) -> f9(x:0, x1:0 - 1, x2:0, x3:0) :|: x1:0 > -1 && x:0 > -1 && x3:0 > 0 && x2:0 >= x1:0 24.02/6.90 f9(x19:0, x20:0, x21:0, x22:0) -> f9(x19:0, x20:0 - 1, x21:0, x22:0) :|: x20:0 > -1 && x19:0 > -1 && x22:0 < 0 && x21:0 >= x20:0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (17) IntTRSCompressionProof (EQUIVALENT) 24.02/6.90 Compressed rules. 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (18) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x19:0:0, x20:0:0, x21:0:0, x22:0:0) -> f9(x19:0:0, x20:0:0 - 1, x21:0:0, x22:0:0) :|: x22:0:0 < 0 && x21:0:0 >= x20:0:0 && x19:0:0 > -1 && x20:0:0 > -1 24.02/6.90 f9(x:0:0, x1:0:0, x2:0:0, x3:0:0) -> f9(x:0:0, x1:0:0 - 1, x2:0:0, x3:0:0) :|: x3:0:0 > 0 && x2:0:0 >= x1:0:0 && x:0:0 > -1 && x1:0:0 > -1 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (19) RankingReductionPairProof (EQUIVALENT) 24.02/6.90 Interpretation: 24.02/6.90 [ f9 ] = f9_2 24.02/6.90 24.02/6.90 The following rules are decreasing: 24.02/6.90 f9(x19:0:0, x20:0:0, x21:0:0, x22:0:0) -> f9(x19:0:0, x20:0:0 - 1, x21:0:0, x22:0:0) :|: x22:0:0 < 0 && x21:0:0 >= x20:0:0 && x19:0:0 > -1 && x20:0:0 > -1 24.02/6.90 f9(x:0:0, x1:0:0, x2:0:0, x3:0:0) -> f9(x:0:0, x1:0:0 - 1, x2:0:0, x3:0:0) :|: x3:0:0 > 0 && x2:0:0 >= x1:0:0 && x:0:0 > -1 && x1:0:0 > -1 24.02/6.90 24.02/6.90 The following rules are bounded: 24.02/6.90 f9(x19:0:0, x20:0:0, x21:0:0, x22:0:0) -> f9(x19:0:0, x20:0:0 - 1, x21:0:0, x22:0:0) :|: x22:0:0 < 0 && x21:0:0 >= x20:0:0 && x19:0:0 > -1 && x20:0:0 > -1 24.02/6.90 f9(x:0:0, x1:0:0, x2:0:0, x3:0:0) -> f9(x:0:0, x1:0:0 - 1, x2:0:0, x3:0:0) :|: x3:0:0 > 0 && x2:0:0 >= x1:0:0 && x:0:0 > -1 && x1:0:0 > -1 24.02/6.90 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (20) 24.02/6.90 YES 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (21) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x, x1, x2, x3) -> f9(x, x1 + 1, x2, 0) :|: x > -1 && x1 > -1 && x2 >= x1 && x3 = 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (22) IntTRSCompressionProof (EQUIVALENT) 24.02/6.90 Compressed rules. 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (23) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f9(x:0, x1:0, x2:0, cons_0) -> f9(x:0, x1:0 + 1, x2:0, 0) :|: x:0 > -1 && x1:0 > -1 && x2:0 >= x1:0 && cons_0 = 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (24) RankingReductionPairProof (EQUIVALENT) 24.02/6.90 Interpretation: 24.02/6.90 [ f9 ] = -1*f9_2 + f9_3 24.02/6.90 24.02/6.90 The following rules are decreasing: 24.02/6.90 f9(x:0, x1:0, x2:0, cons_0) -> f9(x:0, x1:0 + 1, x2:0, 0) :|: x:0 > -1 && x1:0 > -1 && x2:0 >= x1:0 && cons_0 = 0 24.02/6.90 24.02/6.90 The following rules are bounded: 24.02/6.90 f9(x:0, x1:0, x2:0, cons_0) -> f9(x:0, x1:0 + 1, x2:0, 0) :|: x:0 > -1 && x1:0 > -1 && x2:0 >= x1:0 && cons_0 = 0 24.02/6.90 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (25) 24.02/6.90 YES 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (26) 24.02/6.90 Obligation: 24.02/6.90 Rules: 24.02/6.90 f8(x105:0, x106:0, x107:0, x108:0) -> f9(x105:0, x106:0 - 1, x107:0, x108:0) :|: TRUE 24.02/6.90 f8(x9, x10, x11, x12) -> f9(x9 - 1, x10 - 1, x11, 0) :|: x13 > 0 24.02/6.90 f8(x23, x24, x25, x26) -> f9(x23 - 1, x24 - 1, x25, 0) :|: x27 < 0 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (27) TerminationGraphProcessor (EQUIVALENT) 24.02/6.90 Constructed the termination graph and obtained no non-trivial SCC(s). 24.02/6.90 24.02/6.90 ---------------------------------------- 24.02/6.90 24.02/6.90 (28) 24.02/6.90 YES 24.21/6.94 EOF