Proof with eauto with val_renamings.
intros.
destruct v1; inversion Hval_obs; subst; simpl...
Qed.

(* Specifications: *)
Lemma val_obs_shll:
forall f v1 v2 v1' v2'
(Hval_obs': val_obs f v1' v2')
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.shll v1 v1') (Val.shll v2 v2').
Lemma val_obs_suboverflow:
forall f v1 v2 v1' v2'
(Hval_obs': val_obs f v1' v2')
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.sub_overflow v1 v1') (Val.sub_overflow v2 v2').