(** Storing related values on related memories results in related memories*)
Transparent Mem.store.

(* Specifications: *)
Lemma store_val_obs:
forall (mc mc' mf : mem) (f:memren)
(b1 b2 : block) chunk (ofs: Z) v1 v2
(Hstore: Mem.store chunk mc b1 ofs v1 = Some mc')
(Hf: f b1 = Some b2)
(Hval_obs_eq: val_obs f v1 v2)
(Hobs_eq: mem_obs_eq f mc mf),
exists mf',
Mem.store chunk mf b2 ofs v2 = Some mf' /\
mem_obs_eq f mc' mf'.