use int.Int

val bool_neq (x y : int) : bool
  ensures { (result = True) <-> (x <> y) }

let f (b:bool) (y:int) : bool
  ensures { (result = True) <-> (b = True /\ (y <> 0 /\ y <> 42)) }
= [@vc:sp] if b then bool_neq y 0 else False
