Definition orimm (x: nval) (n: int) :=
  match x with
  | Nothing => Nothing
  | I m => I (Int.and m (Int.not n))
  | _ => I (Int.not n)
  end.

Lemma orimm_sound: forall v w x n, vagree v w (orimm x n) -> vagree (Val.or v (Vint n)) (Val.or w (Vint n)) x.