(** Conversions: zero extension, sign extension, single-of-float *)
Definition zero_ext (n: Z) (x: nval) :=
match x with
| Nothing => Nothing
| I m => I (Int.zero_ext n m)
| All => I (Int.zero_ext n Int.mone)
end.

Lemma zero_ext_sound:
forall v w x n,
vagree v w (zero_ext n x) ->
0 <= n ->
vagree (Val.zero_ext n v) (Val.zero_ext n w) x.