void abort() { }; /*@ requires ((1 <= cond)) && (cond != 0); ensures ((1 <= cond)) && (1); @*/ void __VERIFIER_assert(int cond) { if (!(cond)) { ERROR: {/*@ assert(0); */;abort();} } return; } int main() { int i, sn=0; /*@ loop invariant (((((((((((sn == 0) && (i == 1)) || ((7 == i) && (sn == 12))) || ((i == 3) && (sn == 4))) || ((14 == sn) && (i == 8))) || ((6 == sn) && (i == 4))) || ((i == 6) && (sn == 10))) || ((9 <= i) && (16 == sn))) || ((sn == 8) && (5 == i))) || ((i == 2) && (2 == sn)))); @*/ for(i=1; i<=8; i++) { sn = sn + (2); } __VERIFIER_assert(sn==8*(2) || sn == 0); }