Proof with eauto with val_erasure.
induction vs; simpl...
Qed.
(* TODO: is that still used? *)
(*Lemma val_erasure_list_decode: forall vals vals' typs, val_erasure_list vals vals' -> val_erasure_list (val_casted.decode_longs typs vals) (val_casted.decode_longs typs vals').  Lemma memval_erasure_list_refl: forall vs, memval_erasure_list vs vs. Proof with eauto with val_erasure. induction vs; simpl... Qed.  Hint Immediate memval_erasure_list_refl : val_erasure.  (** ** Lemmas about erased values*)
Definition isDefined v :=
match v with
| Vundef => false
| _ => true
end.

Lemma val_erasure_negf:
forall v v',
val_erasure v v' ->
val_erasure (Val.negf v) (Val.negf v').