Definition mod_after_alloc (phi: rmap) (lo hi: Z) (b: block) :=
proj1_sig (make_rmap (mod_after_alloc' phi lo hi b) (ghost_of phi)
_
(mod_after_alloc'_ok phi lo hi b) (ghost_of_approx phi)).
Transparent alloc.

Lemma alloc_dry_unchanged_on : forall m1 m2 loc lo hi b0,
alloc m1 lo hi = (m2, b0) ->
~adr_range (b0,lo) (hi-lo) loc ->
access_at m1 loc = access_at m2 loc /\
(access_at m1 loc Cur <> None -> contents_at m1 loc= contents_at m2 loc).