8.11/2.89 YES 8.11/2.91 proof of /export/starexec/sandbox2/benchmark/theBenchmark.c 8.11/2.91 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 8.11/2.91 8.11/2.91 8.11/2.91 Termination of the given C Problem could be proven: 8.11/2.91 8.11/2.91 (0) C Problem 8.11/2.91 (1) CToIRSProof [EQUIVALENT, 0 ms] 8.11/2.91 (2) IntTRS 8.11/2.91 (3) TerminationGraphProcessor [SOUND, 87 ms] 8.11/2.91 (4) IntTRS 8.11/2.91 (5) IntTRSCompressionProof [EQUIVALENT, 0 ms] 8.11/2.91 (6) IntTRS 8.11/2.91 (7) PolynomialOrderProcessor [EQUIVALENT, 20 ms] 8.11/2.91 (8) AND 8.11/2.91 (9) IntTRS 8.11/2.91 (10) TerminationGraphProcessor [EQUIVALENT, 15 ms] 8.11/2.91 (11) IntTRS 8.11/2.91 (12) IntTRSCompressionProof [EQUIVALENT, 0 ms] 8.11/2.91 (13) IntTRS 8.11/2.91 (14) RankingReductionPairProof [EQUIVALENT, 0 ms] 8.11/2.91 (15) YES 8.11/2.91 (16) IntTRS 8.11/2.91 (17) TerminationGraphProcessor [EQUIVALENT, 12 ms] 8.11/2.91 (18) IntTRS 8.11/2.91 (19) IntTRSCompressionProof [EQUIVALENT, 0 ms] 8.11/2.91 (20) IntTRS 8.11/2.91 (21) RankingReductionPairProof [EQUIVALENT, 0 ms] 8.11/2.91 (22) YES 8.11/2.91 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (0) 8.11/2.91 Obligation: 8.11/2.91 c file /export/starexec/sandbox2/benchmark/theBenchmark.c 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (1) CToIRSProof (EQUIVALENT) 8.11/2.91 Parsed C Integer Program as IRS. 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (2) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f1(p, q) -> f2(p, x_1) :|: TRUE 8.11/2.91 f2(x, x1) -> f3(x2, x1) :|: TRUE 8.11/2.91 f5(x3, x4) -> f8(x3, arith) :|: TRUE && arith = x4 - 1 8.11/2.91 f9(x29, x30) -> f12(x31, x30) :|: TRUE && x31 = x29 - 1 8.11/2.91 f6(x7, x8) -> f9(x7, x8) :|: x7 < x8 8.11/2.91 f6(x9, x10) -> f10(x9, x10) :|: x9 >= x10 8.11/2.91 f12(x11, x12) -> f11(x11, x12) :|: TRUE 8.11/2.91 f10(x13, x14) -> f11(x13, x14) :|: TRUE 8.11/2.91 f4(x15, x16) -> f5(x15, x16) :|: x16 < x15 8.11/2.91 f4(x17, x18) -> f6(x17, x18) :|: x18 >= x17 8.11/2.91 f8(x19, x20) -> f7(x19, x20) :|: TRUE 8.11/2.91 f11(x21, x22) -> f7(x21, x22) :|: TRUE 8.11/2.91 f3(x23, x24) -> f4(x23, x24) :|: x24 > 0 && x23 > 0 && x23 < x24 8.11/2.91 f3(x32, x33) -> f4(x32, x33) :|: x33 > 0 && x32 > 0 && x32 > x33 8.11/2.91 f7(x25, x26) -> f3(x25, x26) :|: TRUE 8.11/2.91 f3(x27, x28) -> f13(x27, x28) :|: x27 = x28 8.11/2.91 f3(x34, x35) -> f13(x34, x35) :|: x35 <= 0 8.11/2.91 f3(x36, x37) -> f13(x36, x37) :|: x36 <= 0 8.11/2.91 Start term: f1(p, q) 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (3) TerminationGraphProcessor (SOUND) 8.11/2.91 Constructed the termination graph and obtained one non-trivial SCC. 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (4) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f3(x23, x24) -> f4(x23, x24) :|: x24 > 0 && x23 > 0 && x23 < x24 8.11/2.91 f7(x25, x26) -> f3(x25, x26) :|: TRUE 8.11/2.91 f8(x19, x20) -> f7(x19, x20) :|: TRUE 8.11/2.91 f5(x3, x4) -> f8(x3, arith) :|: TRUE && arith = x4 - 1 8.11/2.91 f4(x15, x16) -> f5(x15, x16) :|: x16 < x15 8.11/2.91 f3(x32, x33) -> f4(x32, x33) :|: x33 > 0 && x32 > 0 && x32 > x33 8.11/2.91 f11(x21, x22) -> f7(x21, x22) :|: TRUE 8.11/2.91 f12(x11, x12) -> f11(x11, x12) :|: TRUE 8.11/2.91 f9(x29, x30) -> f12(x31, x30) :|: TRUE && x31 = x29 - 1 8.11/2.91 f6(x7, x8) -> f9(x7, x8) :|: x7 < x8 8.11/2.91 f4(x17, x18) -> f6(x17, x18) :|: x18 >= x17 8.11/2.91 f10(x13, x14) -> f11(x13, x14) :|: TRUE 8.11/2.91 f6(x9, x10) -> f10(x9, x10) :|: x9 >= x10 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (5) IntTRSCompressionProof (EQUIVALENT) 8.11/2.91 Compressed rules. 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (6) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f7(x25:0, x26:0) -> f4(x25:0, x26:0) :|: x26:0 > 0 && x25:0 > 0 && x26:0 < x25:0 8.11/2.91 f4(x15:0, x16:0) -> f7(x15:0, x16:0 - 1) :|: x16:0 < x15:0 8.11/2.91 f4(x17:0, x17:01) -> f7(x17:0, x17:0) :|: TRUE && x17:0 = x17:01 8.11/2.91 f4(x, x1) -> f7(x - 1, x1) :|: x1 > x 8.11/2.91 f7(x2, x3) -> f4(x2, x3) :|: x3 > 0 && x2 > 0 && x3 > x2 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (7) PolynomialOrderProcessor (EQUIVALENT) 8.11/2.91 Found the following polynomial interpretation: 8.11/2.91 [f7(x, x1)] = -2 + x 8.11/2.91 [f4(x2, x3)] = -2 + x2 8.11/2.91 8.11/2.91 The following rules are decreasing: 8.11/2.91 f4(x, x1) -> f7(x - 1, x1) :|: x1 > x 8.11/2.91 The following rules are bounded: 8.11/2.91 f7(x25:0, x26:0) -> f4(x25:0, x26:0) :|: x26:0 > 0 && x25:0 > 0 && x26:0 < x25:0 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (8) 8.11/2.91 Complex Obligation (AND) 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (9) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f7(x25:0, x26:0) -> f4(x25:0, x26:0) :|: x26:0 > 0 && x25:0 > 0 && x26:0 < x25:0 8.11/2.91 f4(x15:0, x16:0) -> f7(x15:0, x16:0 - 1) :|: x16:0 < x15:0 8.11/2.91 f4(x17:0, x17:01) -> f7(x17:0, x17:0) :|: TRUE && x17:0 = x17:01 8.11/2.91 f7(x2, x3) -> f4(x2, x3) :|: x3 > 0 && x2 > 0 && x3 > x2 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (10) TerminationGraphProcessor (EQUIVALENT) 8.11/2.91 Constructed the termination graph and obtained one non-trivial SCC. 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (11) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f7(x25:0, x26:0) -> f4(x25:0, x26:0) :|: x26:0 > 0 && x25:0 > 0 && x26:0 < x25:0 8.11/2.91 f4(x15:0, x16:0) -> f7(x15:0, x16:0 - 1) :|: x16:0 < x15:0 8.11/2.91 f7(x2, x3) -> f4(x2, x3) :|: x3 > 0 && x2 > 0 && x3 > x2 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (12) IntTRSCompressionProof (EQUIVALENT) 8.11/2.91 Compressed rules. 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (13) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f7(x25:0:0, x26:0:0) -> f7(x25:0:0, x26:0:0 - 1) :|: x26:0:0 < x25:0:0 && x25:0:0 > 0 && x26:0:0 > 0 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (14) RankingReductionPairProof (EQUIVALENT) 8.11/2.91 Interpretation: 8.11/2.91 [ f7 ] = f7_2 8.11/2.91 8.11/2.91 The following rules are decreasing: 8.11/2.91 f7(x25:0:0, x26:0:0) -> f7(x25:0:0, x26:0:0 - 1) :|: x26:0:0 < x25:0:0 && x25:0:0 > 0 && x26:0:0 > 0 8.11/2.91 8.11/2.91 The following rules are bounded: 8.11/2.91 f7(x25:0:0, x26:0:0) -> f7(x25:0:0, x26:0:0 - 1) :|: x26:0:0 < x25:0:0 && x25:0:0 > 0 && x26:0:0 > 0 8.11/2.91 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (15) 8.11/2.91 YES 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (16) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f4(x15:0, x16:0) -> f7(x15:0, x16:0 - 1) :|: x16:0 < x15:0 8.11/2.91 f4(x17:0, x17:01) -> f7(x17:0, x17:0) :|: TRUE && x17:0 = x17:01 8.11/2.91 f4(x, x1) -> f7(x - 1, x1) :|: x1 > x 8.11/2.91 f7(x2, x3) -> f4(x2, x3) :|: x3 > 0 && x2 > 0 && x3 > x2 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (17) TerminationGraphProcessor (EQUIVALENT) 8.11/2.91 Constructed the termination graph and obtained one non-trivial SCC. 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (18) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f4(x15:0, x16:0) -> f7(x15:0, x16:0 - 1) :|: x16:0 < x15:0 8.11/2.91 f7(x2, x3) -> f4(x2, x3) :|: x3 > 0 && x2 > 0 && x3 > x2 8.11/2.91 f4(x, x1) -> f7(x - 1, x1) :|: x1 > x 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (19) IntTRSCompressionProof (EQUIVALENT) 8.11/2.91 Compressed rules. 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (20) 8.11/2.91 Obligation: 8.11/2.91 Rules: 8.11/2.91 f4(x15:0:0, x16:0:0) -> f4(x15:0:0, x16:0:0 - 1) :|: x16:0:0 - 1 > x15:0:0 && x16:0:0 < x15:0:0 && x15:0:0 > 0 && x16:0:0 > 1 8.11/2.91 f4(x:0, x1:0) -> f4(x:0 - 1, x1:0) :|: x:0 - 1 < x1:0 && x:0 < x1:0 && x:0 > 1 && x1:0 > 0 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (21) RankingReductionPairProof (EQUIVALENT) 8.11/2.91 Interpretation: 8.11/2.91 [ f4 ] = f4_1 8.11/2.91 8.11/2.91 The following rules are decreasing: 8.11/2.91 f4(x15:0:0, x16:0:0) -> f4(x15:0:0, x16:0:0 - 1) :|: x16:0:0 - 1 > x15:0:0 && x16:0:0 < x15:0:0 && x15:0:0 > 0 && x16:0:0 > 1 8.11/2.91 f4(x:0, x1:0) -> f4(x:0 - 1, x1:0) :|: x:0 - 1 < x1:0 && x:0 < x1:0 && x:0 > 1 && x1:0 > 0 8.11/2.91 8.11/2.91 The following rules are bounded: 8.11/2.91 f4(x15:0:0, x16:0:0) -> f4(x15:0:0, x16:0:0 - 1) :|: x16:0:0 - 1 > x15:0:0 && x16:0:0 < x15:0:0 && x15:0:0 > 0 && x16:0:0 > 1 8.11/2.91 f4(x:0, x1:0) -> f4(x:0 - 1, x1:0) :|: x:0 - 1 < x1:0 && x:0 < x1:0 && x:0 > 1 && x1:0 > 0 8.11/2.91 8.11/2.91 8.11/2.91 ---------------------------------------- 8.11/2.91 8.11/2.91 (22) 8.11/2.91 YES 8.48/3.01 EOF