void abort() { }; int main() { int a = 6; int b = 6; int c = 6; /*@ loop invariant ((((b == 6) && (c == 6)) && (a <= 6))); @*/ for(a = 0; a < 6; ++a) { /*@ loop invariant ((((c == 6) && (b <= 6)) && (a <= 5))); @*/ for(b = 0; b < 6; ++b) { /*@ loop invariant ((((((((((b <= 5) && (a <= 5)) && (c == 1)) || (((b <= 5) && (5 == c)) && (a <= 5))) || (((c == 6) && (b <= 5)) && (a <= 5))) || (((b <= 5) && (a <= 5)) && (c == 3))) || (((b <= 5) && (c == 0)) && (a <= 5))) || (((b <= 5) && (c == 2)) && (a <= 5))) || (((b <= 5) && (c == 4)) && (a <= 5)))); @*/ for(c = 0; c < 6; ++c) { } } } if(!(a == 6 && b == 6 && c == 6 )) { /*@ assert(0); */; } return 1; }