Proof with eauto with val_renamings.
intros.
destruct v1, v1'; inversion Hval_obs;
inversion Hval_obs'; subst; simpl...
destruct (Int.ltu i0 Int64.iwordsize')...
Qed.

(* Specifications: *)
Lemma val_obs_shrl:
forall f v1 v2 v1' v2'
(Hval_obs': val_obs f v1' v2')
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.shrl v1 v1') (Val.shrl v2 v2').
Lemma val_obs_shrlu:
forall f v1 v2 v1' v2'
(Hval_obs': val_obs f v1' v2')
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.shrlu v1 v1') (Val.shrlu v2 v2').
Lemma val_obs_rorl:
forall f v1 v2 ofs
(Hval_obs: val_obs f v1 v2),
val_obs f (Val.rorl v1 (Vint ofs)) (Val.rorl v2 (Vint ofs)).