10.52/3.48 NO 11.01/3.57 proof of /export/starexec/sandbox/benchmark/theBenchmark.c 11.01/3.57 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.01/3.57 11.01/3.57 11.01/3.57 Termination of the given C Problem could be disproven: 11.01/3.57 11.01/3.57 (0) C Problem 11.01/3.57 (1) CToIRSProof [EQUIVALENT, 0 ms] 11.01/3.57 (2) IntTRS 11.01/3.57 (3) IRS2T2 [EQUIVALENT, 0 ms] 11.01/3.57 (4) T2IntSys 11.01/3.57 (5) T2 [COMPLETE, 1143 ms] 11.01/3.57 (6) NO 11.01/3.57 11.01/3.57 11.01/3.57 ---------------------------------------- 11.01/3.57 11.01/3.57 (0) 11.01/3.57 Obligation: 11.01/3.57 c file /export/starexec/sandbox/benchmark/theBenchmark.c 11.01/3.57 ---------------------------------------- 11.01/3.57 11.01/3.57 (1) CToIRSProof (EQUIVALENT) 11.01/3.57 Parsed C Integer Program as IRS. 11.01/3.57 ---------------------------------------- 11.01/3.57 11.01/3.57 (2) 11.01/3.57 Obligation: 11.01/3.57 Rules: 11.01/3.57 f1(i) -> f2(3) :|: TRUE 11.01/3.57 f4(x) -> f7(arith) :|: TRUE && arith = x + 3 11.01/3.57 f8(x14) -> f11(x15) :|: TRUE && x15 = x14 - 2 11.01/3.57 f9(x16) -> f12(x17) :|: TRUE && x17 = x16 + 1 11.01/3.57 f5(x3) -> f8(x3) :|: x3 > 10 11.01/3.57 f5(x4) -> f9(x4) :|: x4 <= 10 11.01/3.57 f11(x5) -> f10(x5) :|: TRUE 11.01/3.57 f12(x6) -> f10(x6) :|: TRUE 11.01/3.57 f3(x7) -> f4(x7) :|: x7 > 5 11.01/3.57 f3(x8) -> f5(x8) :|: x8 <= 5 11.01/3.57 f7(x9) -> f6(x9) :|: TRUE 11.01/3.57 f10(x10) -> f6(x10) :|: TRUE 11.01/3.57 f2(x11) -> f3(x11) :|: x11 >= 3 11.01/3.57 f6(x12) -> f2(x12) :|: TRUE 11.01/3.57 f2(x13) -> f13(x13) :|: x13 < 3 11.01/3.57 Start term: f1(i) 11.01/3.57 11.01/3.57 ---------------------------------------- 11.01/3.57 11.01/3.57 (3) IRS2T2 (EQUIVALENT) 11.01/3.57 Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: 11.01/3.57 11.01/3.57 (f1_1,1) 11.01/3.57 (f2_1,2) 11.01/3.57 (f4_1,3) 11.01/3.57 (f7_1,4) 11.01/3.57 (f8_1,5) 11.01/3.57 (f11_1,6) 11.01/3.57 (f9_1,7) 11.01/3.57 (f12_1,8) 11.01/3.57 (f5_1,9) 11.01/3.57 (f10_1,10) 11.01/3.57 (f3_1,11) 11.01/3.57 (f6_1,12) 11.01/3.57 (f13_1,13) 11.01/3.57 11.01/3.57 ---------------------------------------- 11.01/3.57 11.01/3.57 (4) 11.01/3.57 Obligation: 11.01/3.57 START: 1; 11.01/3.57 11.01/3.57 FROM: 1; 11.01/3.57 oldX0 := x0; 11.01/3.57 assume(0 = 0); 11.01/3.57 x0 := 3; 11.01/3.57 TO: 2; 11.01/3.57 11.01/3.57 FROM: 3; 11.01/3.57 oldX0 := x0; 11.01/3.57 oldX1 := -(-(oldX0 + 3)); 11.01/3.57 assume(0 = 0 && oldX1 = oldX0 + 3); 11.01/3.57 x0 := -(-(oldX0 + 3)); 11.01/3.57 TO: 4; 11.01/3.57 11.01/3.57 FROM: 5; 11.01/3.57 oldX0 := x0; 11.01/3.57 oldX1 := -(2 - oldX0); 11.01/3.57 assume(0 = 0 && oldX1 = oldX0 - 2); 11.01/3.57 x0 := -(2 - oldX0); 11.01/3.57 TO: 6; 11.01/3.57 11.01/3.57 FROM: 7; 11.01/3.57 oldX0 := x0; 11.01/3.57 oldX1 := -(-(oldX0 + 1)); 11.01/3.57 assume(0 = 0 && oldX1 = oldX0 + 1); 11.01/3.57 x0 := -(-(oldX0 + 1)); 11.01/3.57 TO: 8; 11.01/3.57 11.01/3.57 FROM: 9; 11.01/3.57 oldX0 := x0; 11.01/3.57 assume(oldX0 > 10); 11.01/3.57 x0 := oldX0; 11.01/3.57 TO: 5; 11.01/3.57 11.01/3.57 FROM: 9; 11.01/3.57 oldX0 := x0; 11.01/3.57 assume(oldX0 <= 10); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 7; 11.01/3.58 11.01/3.58 FROM: 6; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(0 = 0); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 10; 11.01/3.58 11.01/3.58 FROM: 8; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(0 = 0); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 10; 11.01/3.58 11.01/3.58 FROM: 11; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(oldX0 > 5); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 3; 11.01/3.58 11.01/3.58 FROM: 11; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(oldX0 <= 5); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 9; 11.01/3.58 11.01/3.58 FROM: 4; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(0 = 0); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 12; 11.01/3.58 11.01/3.58 FROM: 10; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(0 = 0); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 12; 11.01/3.58 11.01/3.58 FROM: 2; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(oldX0 >= 3); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 11; 11.01/3.58 11.01/3.58 FROM: 12; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(0 = 0); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 2; 11.01/3.58 11.01/3.58 FROM: 2; 11.01/3.58 oldX0 := x0; 11.01/3.58 assume(oldX0 < 3); 11.01/3.58 x0 := oldX0; 11.01/3.58 TO: 13; 11.01/3.58 11.01/3.58 11.01/3.58 ---------------------------------------- 11.01/3.58 11.01/3.58 (5) T2 (COMPLETE) 11.01/3.58 Found this recurrent set for cutpoint 10: 6 <= oldX0 and 6 <= x0 and x0-oldX0 <= 0 and oldX0-x0 <= 0 and 12 <= x0+oldX0 and 0 <= 0 11.01/3.58 11.01/3.58 ---------------------------------------- 11.01/3.58 11.01/3.58 (6) 11.01/3.58 NO 11.80/3.92 EOF