Proof with eauto with val_erasure.
intros.
destruct v, chunk; simpl; unfold inj_value; simpl;
repeat econstructor...
Qed.

Lemma val_erasure_shll:
forall v1 v2 v1' v2',
val_erasure v1 v1' ->
val_erasure v2 v2' ->
val_erasure (Val.shll v1 v2) (Val.shll v1' v2').