Section initial_mem.
Variables (m: mem) (w: rmap).
Definition initial_rmap_ok :=
forall loc, ((fst loc >= nextblock m)%positive -> core w @ loc = NO Share.bot bot_unreadable) /\
(match w @ loc with
| PURE _ _ => (fst loc < nextblock m)%positive /\
access_at m loc Cur = Some Nonempty /\
max_access_at m loc = Some Nonempty
| _ => True end).
Hypothesis IOK: initial_rmap_ok.
End initial_mem.
Definition empty_retainer (loc: address) := Share.bot.

Lemma perm_of_nonempty:
forall sh, sh <> Share.bot -> ~readable_share sh -> perm_of_sh sh = Some Nonempty.