4.87/2.10 YES 5.21/2.11 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 5.21/2.11 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.21/2.11 5.21/2.11 5.21/2.11 Termination of the given C Problem could be proven: 5.21/2.11 5.21/2.11 (0) C Problem 5.21/2.11 (1) CToIRSProof [EQUIVALENT, 0 ms] 5.21/2.11 (2) IntTRS 5.21/2.11 (3) TerminationGraphProcessor [SOUND, 63 ms] 5.21/2.11 (4) IntTRS 5.21/2.11 (5) IntTRSCompressionProof [EQUIVALENT, 21 ms] 5.21/2.11 (6) IntTRS 5.21/2.11 (7) PolynomialOrderProcessor [EQUIVALENT, 1 ms] 5.21/2.11 (8) YES 5.21/2.11 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (0) 5.21/2.11 Obligation: 5.21/2.11 c file /export/starexec/sandbox/benchmark/theBenchmark.c 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (1) CToIRSProof (EQUIVALENT) 5.21/2.11 Parsed C Integer Program as IRS. 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (2) 5.21/2.11 Obligation: 5.21/2.11 Rules: 5.21/2.11 f1(q, y) -> f2(x_1, y) :|: TRUE 5.21/2.11 f2(x, x1) -> f3(x, x2) :|: TRUE 5.21/2.11 f5(x3, x4) -> f8(arith, x4) :|: TRUE && arith = x3 - x4 - 1 5.21/2.11 f6(x21, x22) -> f9(x23, x22) :|: TRUE && x23 = x21 + x22 - 1 5.21/2.11 f4(x7, x8) -> f5(x7, x8) :|: x8 > 0 5.21/2.11 f4(x9, x10) -> f6(x9, x10) :|: x10 <= 0 5.21/2.11 f8(x11, x12) -> f7(x11, x12) :|: TRUE 5.21/2.11 f9(x13, x14) -> f7(x13, x14) :|: TRUE 5.21/2.11 f3(x15, x16) -> f4(x15, x16) :|: x15 > 0 5.21/2.11 f7(x17, x18) -> f3(x17, x18) :|: TRUE 5.21/2.11 f3(x19, x20) -> f10(x19, x20) :|: x19 <= 0 5.21/2.11 Start term: f1(q, y) 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (3) TerminationGraphProcessor (SOUND) 5.21/2.11 Constructed the termination graph and obtained one non-trivial SCC. 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (4) 5.21/2.11 Obligation: 5.21/2.11 Rules: 5.21/2.11 f3(x15, x16) -> f4(x15, x16) :|: x15 > 0 5.21/2.11 f7(x17, x18) -> f3(x17, x18) :|: TRUE 5.21/2.11 f8(x11, x12) -> f7(x11, x12) :|: TRUE 5.21/2.11 f5(x3, x4) -> f8(arith, x4) :|: TRUE && arith = x3 - x4 - 1 5.21/2.11 f4(x7, x8) -> f5(x7, x8) :|: x8 > 0 5.21/2.11 f9(x13, x14) -> f7(x13, x14) :|: TRUE 5.21/2.11 f6(x21, x22) -> f9(x23, x22) :|: TRUE && x23 = x21 + x22 - 1 5.21/2.11 f4(x9, x10) -> f6(x9, x10) :|: x10 <= 0 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (5) IntTRSCompressionProof (EQUIVALENT) 5.21/2.11 Compressed rules. 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (6) 5.21/2.11 Obligation: 5.21/2.11 Rules: 5.21/2.11 f7(x17:0, x18:0) -> f7(x17:0 + x18:0 - 1, x18:0) :|: x17:0 > 0 && x18:0 < 1 5.21/2.11 f7(x, x1) -> f7(x - x1 - 1, x1) :|: x > 0 && x1 > 0 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (7) PolynomialOrderProcessor (EQUIVALENT) 5.21/2.11 Found the following polynomial interpretation: 5.21/2.11 [f7(x, x1)] = x 5.21/2.11 5.21/2.11 The following rules are decreasing: 5.21/2.11 f7(x17:0, x18:0) -> f7(x17:0 + x18:0 - 1, x18:0) :|: x17:0 > 0 && x18:0 < 1 5.21/2.11 f7(x, x1) -> f7(x - x1 - 1, x1) :|: x > 0 && x1 > 0 5.21/2.11 The following rules are bounded: 5.21/2.11 f7(x17:0, x18:0) -> f7(x17:0 + x18:0 - 1, x18:0) :|: x17:0 > 0 && x18:0 < 1 5.21/2.11 f7(x, x1) -> f7(x - x1 - 1, x1) :|: x > 0 && x1 > 0 5.21/2.11 5.21/2.11 ---------------------------------------- 5.21/2.11 5.21/2.11 (8) 5.21/2.11 YES 5.21/2.13 EOF