Definition noyes phi := forall x sh rsh k pp, phi @ x <> YES sh rsh k pp.
Definition getYES_aux (phi : rmap) (loc : address) : resource :=
match phi @ loc with
YES sh Psh k pp => YES (Share.glb Share.Rsh sh) (readable_glb Psh) k pp
| NO sh _ => NO Share.bot bot_unreadable
| PURE k pp => PURE k pp
end.

Lemma glb_Lsh_unreadable:
forall sh,
~ readable_share  (Share.glb Share.Lsh sh).