void abort() { }; void f(int); void f2(int); /*@ requires ((n == 2)); ensures ((n == 2)); @*/ void f(int n) { if (n<3) return; n--; f2(n); ERROR: {/*@ assert(0); */;abort();} } /*@ requires (0); ensures (0); @*/ void f2(int n) { if (n<3) return; n--; f(n); ERROR: {/*@ assert(0); */;abort();} } int main() { f(2); }