(*Lenb: moved to mpred Definition assert := environ -> mpred.  (* Unfortunately can't export this abbreviation through SeparationLogic.v because it confuses the Lift system *)
*)

Lemma address_mapsto_exists:
forall ch v sh (rsh: readable_share sh) loc w0
(RESERVE: forall l', adr_range loc (size_chunk ch) l' -> w0 @ l' = NO Share.bot bot_unreadable),
identity (ghost_of w0) ->
(align_chunk ch | snd loc) ->
exists w, address_mapsto ch (decode_val ch (encode_val ch v)) sh loc w
/\ core w = core w0.