
(* similar to func_call4.mlw but uses a let to declare z *)

use int.Int

type t = { mutable c : int }

let z = { c = any int }

val g (): unit
  writes { z.c }
  ensures { z.c > old z.c }

let f () =
  z.c <- 0;
  g ();
  assert { z.c = 1 }
