Proof with eauto with val_renamings.
intros.
destruct v1, v1'; inversion Hval_obs;
inversion Hval_obs'; subst; simpl; eauto with val_renamings;
unfold Val.cmpu,Val.of_optbool, Val.cmpu_bool, Vtrue, Vfalse...
Qed.
Hint Resolve val_obs_cmplu : val_renamings.

(* Specifications: *)
Lemma mem_obs_eq_of_weak_strong:
forall m m' f pmap1 pmap1' pmap2 pmap2'
(Hlt1: permMapLt pmap1 (getMaxPerm m))
(Hlt2: permMapLt pmap2 (getMaxPerm m'))
(Hlt1': permMapLt pmap1' (getMaxPerm m))
(Hlt2': permMapLt pmap2' (getMaxPerm m'))
(Hstrong_obs: strong_mem_obs_eq f (restrPermMap Hlt1) (restrPermMap Hlt2))
(Hweak: weak_mem_obs_eq f (restrPermMap Hlt1') (restrPermMap Hlt2')),
mem_obs_eq f (restrPermMap Hlt1) (restrPermMap Hlt2).