Proof with eauto with val_renamings.
intros v v' v'' f f' f'' Hval'' Hval' Hf.
inversion Hval'; subst; inversion Hval''; subst...
Qed.

Lemma memval_obs_trans:
forall (v v' v'' : memval) (f f' f'' : memren),
memval_obs_eq f v v'' ->
memval_obs_eq f' v v' ->
(forall b b' b'' : block,
f b = Some b'' ->
f' b = Some b' ->
f'' b' = Some b'') ->
memval_obs_eq f'' v' v''.