Opaque lockRes.

(** [permMapJoin] is preserved through block renamings*)
Lemma permMapJoin_project:
forall (f : memren)
pmap pmapF pmap' pmapF' pmapR pmapRF
(HpmapF: forall b, (~exists b', f b' = Some b) ->
forall ofs, (pmapF # b ofs = None /\ pmapRF # b ofs = pmapF' # b ofs) \/
(pmapF' # b ofs = None /\ pmapRF # b ofs = pmapF # b ofs))
(Hangel: permMapJoin pmap pmap' pmapR)
(Hpmap: forall b1 b2 ofs, f b1 = Some b2 -> (pmap # b1) ofs = (pmapF # b2) ofs)
(Hpmap': forall b1 b2 ofs, f b1 = Some b2 -> (pmap' # b1) ofs = (pmapF' # b2) ofs)
(HpmapR: forall b1 b2 ofs, f b1 = Some b2 -> (pmapR # b1) ofs = (pmapRF # b2) ofs),
permMapJoin pmapF pmapF' pmapRF.