7 type r = {mutable f : int; mutable g : bool}
11 let record_old_test1 (x : r) : unit
12 ensures { old (x.f + y.f) = x.f }
16 let record_at_test2 (x : r) : unit
22 assert { x.f at L = ((x.f + x.f + 1) at M + x.f + y.f)}
24 let several_hats (x : r): unit
29 (* Here, the counterexample variable should mention both M and L *)
30 assert { x.f at L = x.f at M + 1}