Program Definition getYES (phi : rmap) := proj1_sig (make_rmap (getYES_aux phi) (ghost_of phi) (level phi) _ _).Program Definition getNO (phi : rmap) := proj1_sig (make_rmap (getNO_aux phi) (core (ghost_of phi)) (level phi) _ _).

(* Specifications: *)
Lemma getYES_getNO_join phi : join (getYES phi) (getNO phi) phi.
Lemma noyes_getNO phi : noyes (getNO phi).
Lemma writable0_glb_Rsh: forall sh, writable0_share sh -> Share.glb Share.Rsh sh = Share.Rsh.
Lemma mapsto_getYES sh t v v' phi : writable0_share sh -> app_pred (mapsto sh t v v') phi -> app_pred (mapsto Share.Rsh t v v') (getYES phi).
Lemma memory_block_getYES sh z v phi : writable0_share sh -> app_pred (memory_block sh z v) phi -> app_pred (memory_block Share.Rsh z v) (getYES phi).
Lemma field_at_getYES CS sh t gfs v v' phi : writable0_share sh -> app_pred (@field_at CS sh t gfs v v') phi -> app_pred (@field_at CS Share.Rsh t gfs v v') (getYES phi).