Definition nlub (x y: nval) : nval :=
  match x, y with
  | Nothing, _ => y
  | _, Nothing => x
  | I m1, I m2 => I (Int.or m1 m2)
  | _, _ => All
  end.

(* Specifications: *)
Lemma nge_lub_l: forall x y, nge (nlub x y) x.
Lemma nge_lub_r: forall x y, nge (nlub x y) y.
Lemma iagree_refl: forall p m, iagree p p m.