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.