Definition sign_ext_redundant (n: Z) (x: nval) :=
match x with
| Nothing => true
| I m => Int.eq_dec (Int.zero_ext n m) m
| _ => false
end.

(* Specifications: *)
Lemma sign_ext_redundant_sound:
forall v w x n,
sign_ext_redundant n x = true ->
vagree v w (sign_ext n x) ->
0 < n ->
vagree (Val.sign_ext n v) w x.