Corollary mem_obs_eq_domain_ren:
    forall f m m',
      mem_obs_eq f m m' ->
      domain_memren f m.

Lemma loadv_val_obs: forall (mc mf : mem) (f:memren) (vptr1 vptr2 : val) chunk v1 (Hload: Mem.loadv chunk mc vptr1 = Some v1) (Hf: val_obs f vptr1 vptr2) (Hinjective: forall b0 b1' b3 : block, f b0 = Some b3 -> f b1' = Some b3 -> b0 = b1') (Hobs_eq: strong_mem_obs_eq f mc mf), exists v2, Mem.loadv chunk mf vptr2 = Some v2 /\ val_obs f v1 v2.