(** Profs about [mem_obs_eq] and [weak_mem_obs_eq] *)

(** Changes to the memories in place where permissions are below [Readable] preserve [strong_mem_obs_eq] *)
Lemma strong_mem_obs_eq_disjoint_step:
forall f f' mc mf mc' mf' pmap pmapF
(Hlt: permMapLt pmap (getMaxPerm mc))
(HltF: permMapLt pmapF (getMaxPerm mf))
(Hlt': permMapLt pmap (getMaxPerm mc'))
(HltF': permMapLt pmapF (getMaxPerm mf'))
(Hobs_eq: mem_obs_eq f (restrPermMap Hlt) (restrPermMap HltF))
(Hstable: forall b ofs, Mem.perm (restrPermMap Hlt) b ofs Cur Readable ->
ZMap.get ofs (Mem.mem_contents mc) # b = ZMap.get ofs (Mem.mem_contents mc') # b)
(HstableF: forall b ofs, Mem.perm (restrPermMap HltF) b ofs Cur Readable ->
ZMap.get ofs (Mem.mem_contents mf) # b = ZMap.get ofs (Mem.mem_contents mf') # b)
(Hincr: ren_incr f f')
(Hsep: ren_separated f f' mc mf),
strong_mem_obs_eq f' (restrPermMap Hlt') (restrPermMap HltF').