Opaque lockRes.

Lemma gss_mem_obs_eq_lock:
forall mc mf mc' mf' rmap rmapF bl1 bl2 ofsl f v
rmap' rmapF' virtue
(Hlt: permMapLt rmap (getMaxPerm mc))
(HltF: permMapLt rmapF (getMaxPerm mf))
(Hlt': permMapLt rmap' (getMaxPerm mc))
(HltF': permMapLt rmapF' (getMaxPerm mf))
(Hlt2: permMapLt (computeMap rmap virtue) (getMaxPerm mc'))
(Hlt2F: permMapLt (computeMap rmapF (projectAngel f virtue)) (getMaxPerm mf'))
(Hf: f bl1 = Some bl2)
(Hobs_eq: mem_obs_eq f (restrPermMap Hlt) (restrPermMap HltF))
(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)
(Hjoin: permMapJoin rmap' rmap (computeMap rmap virtue)),
mem_obs_eq f (restrPermMap Hlt2) (restrPermMap Hlt2F).