Proof with eauto with val_erasure.
intros.
destruct v1,v2; simpl in *; inv Hval_erasure; auto;
unfold Val.cmplu, Val.cmplu_bool; simpl; eauto with val_erasure;
do 2 rewrite andb_if;
repeat match goal with
| [|- context[match ?Expr with | _ => _ end]] =>
destruct Expr eqn:?
end; simpl; eauto with val_erasure.
Qed.
Hint Resolve val_erasure_cmplu : val_erasure.

Lemma storebytes_erasure:
forall m m' b ofs mv mv' m2
(Hstore: Mem.storebytes m b ofs mv = Some m2)
(Herased: mem_erasure m m')
(Hval_erasure: memval_erasure_list mv mv') ,
exists m2', Mem.storebytes m' b ofs mv' = Some m2'
/\ mem_erasure m2 m2'.