Opaque Mem.storebytes.

(*TODO: Generalize what is stored, chunk, value, etc.*)
Lemma strong_mem_obs_eq_store:
forall mc mf mc' mf' rmap rmapF bl1 bl2 ofsl f v
(Hlt: permMapLt rmap (getMaxPerm mc))
(HltF: permMapLt rmapF (getMaxPerm mf))
(Hlt2: permMapLt rmap (getMaxPerm mc'))
(Hlt2F: permMapLt rmapF (getMaxPerm mf'))
(Hf: f bl1 = Some bl2)
(Hinjective: forall b1 b1' b2 : block, f b1 = Some b2 -> f b1' = Some b2 -> b1 = b1')
(Hobs_eq: strong_mem_obs_eq f (restrPermMap Hlt) (restrPermMap HltF))
(Hstore: Mem.mem_contents mc' = PMap.set bl1 (Mem.setN (encode_val Mint32 (Vint v)) ofsl (Mem.mem_contents mc) # bl1)
(Mem.mem_contents mc))
(HstoreF: Mem.mem_contents mf' = PMap.set bl2 (Mem.setN (encode_val Mint32 (Vint v)) ofsl (Mem.mem_contents mf) # bl2)
(Mem.mem_contents mf))
(Hvb: forall b, Mem.valid_block mc b <-> Mem.valid_block mc' b)
(HvbF: forall b, Mem.valid_block mf b <-> Mem.valid_block mf' b),
strong_mem_obs_eq f (restrPermMap Hlt2) (restrPermMap Hlt2F).