NO proof of /export/starexec/sandbox2/benchmark/theBenchmark.c # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Termination of the given C Problem could be disproven: (0) C Problem (1) CToIRSProof [EQUIVALENT, 0 ms] (2) IntTRS (3) IRS2T2 [EQUIVALENT, 0 ms] (4) T2IntSys (5) T2 [COMPLETE, 2414 ms] (6) NO ---------------------------------------- (0) Obligation: c file /export/starexec/sandbox2/benchmark/theBenchmark.c ---------------------------------------- (1) CToIRSProof (EQUIVALENT) Parsed C Integer Program as IRS. ---------------------------------------- (2) Obligation: Rules: f1(i, range) -> f2(x_1, range) :|: TRUE f2(x, x1) -> f3(x, 20) :|: TRUE f5(x2, x3) -> f8(arith, x3) :|: TRUE && arith = x2 * (0 - 1) f6(x32, x33) -> f9(x32, x34) :|: TRUE && x34 = x33 + 1 f9(x35, x36) -> f10(x37, x36) :|: TRUE && x37 = x35 - 1 f11(x38, x39) -> f14(x38, x40) :|: TRUE && x40 = 0 - 1 f10(x10, x11) -> f11(x10, x11) :|: x10 = 0 f10(x12, x13) -> f12(x12, x13) :|: x12 < 0 f10(x41, x42) -> f12(x41, x42) :|: x41 > 0 f14(x14, x15) -> f13(x14, x15) :|: TRUE f12(x16, x17) -> f13(x16, x17) :|: TRUE f4(x18, x19) -> f5(x18, x19) :|: x19 - x18 < 5 f4(x43, x44) -> f5(x43, x44) :|: x44 + x43 < 5 f4(x20, x21) -> f6(x20, x21) :|: x21 - x20 >= 5 && x21 + x20 >= 5 f8(x22, x23) -> f7(x22, x23) :|: TRUE f13(x24, x25) -> f7(x24, x25) :|: TRUE f3(x26, x27) -> f4(x26, x27) :|: 0 - x27 <= x26 && x26 <= x27 f7(x28, x29) -> f3(x28, x29) :|: TRUE f3(x30, x31) -> f15(x30, x31) :|: 0 - x31 > x30 f3(x45, x46) -> f15(x45, x46) :|: x45 > x46 Start term: f1(i, range) ---------------------------------------- (3) IRS2T2 (EQUIVALENT) Transformed input IRS into an integer transition system.Used the following mapping from defined symbols to location IDs: (f1_2,1) (f2_2,2) (f3_2,3) (f5_2,4) (f8_2,5) (f6_2,6) (f9_2,7) (f10_2,8) (f11_2,9) (f14_2,10) (f12_2,11) (f13_2,12) (f4_2,13) (f7_2,14) (f15_2,15) ---------------------------------------- (4) Obligation: START: 1; FROM: 1; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(0 = 0); x0 := oldX2; x1 := oldX1; TO: 2; FROM: 2; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := 20; TO: 3; FROM: 4; oldX0 := x0; oldX1 := x1; oldX2 := nondet(); assume(0 = 0 && oldX2 = oldX0 * (0 - 1)); x0 := oldX2; x1 := oldX1; TO: 5; FROM: 6; oldX0 := x0; oldX1 := x1; oldX2 := -(-(oldX1 + 1)); assume(0 = 0 && oldX2 = oldX1 + 1); x0 := oldX0; x1 := -(-(oldX1 + 1)); TO: 7; FROM: 7; oldX0 := x0; oldX1 := x1; oldX2 := -(1 - oldX0); assume(0 = 0 && oldX2 = oldX0 - 1); x0 := -(1 - oldX0); x1 := oldX1; TO: 8; FROM: 9; oldX0 := x0; oldX1 := x1; oldX2 := -(1); assume(0 = 0 && oldX2 = 0 - 1); x0 := oldX0; x1 := -(1); TO: 10; FROM: 8; oldX0 := x0; oldX1 := x1; assume(oldX0 = 0); x0 := oldX0; x1 := oldX1; TO: 9; FROM: 8; oldX0 := x0; oldX1 := x1; assume(oldX0 < 0); x0 := oldX0; x1 := oldX1; TO: 11; FROM: 8; oldX0 := x0; oldX1 := x1; assume(oldX0 > 0); x0 := oldX0; x1 := oldX1; TO: 11; FROM: 10; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := oldX1; TO: 12; FROM: 11; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := oldX1; TO: 12; FROM: 13; oldX0 := x0; oldX1 := x1; assume(oldX1 - oldX0 < 5); x0 := oldX0; x1 := oldX1; TO: 4; FROM: 13; oldX0 := x0; oldX1 := x1; assume(oldX1 + oldX0 < 5); x0 := oldX0; x1 := oldX1; TO: 4; FROM: 13; oldX0 := x0; oldX1 := x1; assume(oldX1 - oldX0 >= 5 && oldX1 + oldX0 >= 5); x0 := oldX0; x1 := oldX1; TO: 6; FROM: 5; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := oldX1; TO: 14; FROM: 12; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := oldX1; TO: 14; FROM: 3; oldX0 := x0; oldX1 := x1; assume(0 - oldX1 <= oldX0 && oldX0 <= oldX1); x0 := oldX0; x1 := oldX1; TO: 13; FROM: 14; oldX0 := x0; oldX1 := x1; assume(0 = 0); x0 := oldX0; x1 := oldX1; TO: 3; FROM: 3; oldX0 := x0; oldX1 := x1; assume(0 - oldX1 > oldX0); x0 := oldX0; x1 := oldX1; TO: 15; FROM: 3; oldX0 := x0; oldX1 := x1; assume(oldX0 > oldX1); x0 := oldX0; x1 := oldX1; TO: 15; ---------------------------------------- (5) T2 (COMPLETE) Found this recurrent set for cutpoint 12: -16 <= oldX2 and oldX2 <= -1 and x0 <= -1 and 21 <= x1 and x0-oldX2 <= 0 and oldX2+x0 <= -2 and oldX2-x1 <= -22 and 5 <= oldX2+x1 and x0-x1 <= -22 and x0+x1 <= 20 and 5 <= x0+x1 and -x1-x0 <= 0 and -x1+x0 <= 0 ---------------------------------------- (6) NO