Definition FreeEffect m lo hi (sp b:Values.block) (ofs:Z): bool :=
if valid_block_dec m b
then eq_block b sp && zle lo ofs && zlt ofs hi
else false.

(* Specifications: *)
Lemma FreeEffectD: forall m lo hi sp b z
(FREE:FreeEffect m lo hi sp b z = true),
b = sp /\ Mem.valid_block m b /\ lo <= z /\ z < hi.
Lemma FreeEffect_free: forall m sp lo hi m'
(FREE: Mem.free m sp lo hi = Some m'),
Mem.unchanged_on  (fun b ofs => FreeEffect m lo hi sp b ofs = false) m m'.
Lemma FreeEffect_free: forall m sp lo hi m'
(FREE: Mem.free m sp lo hi = Some m'),
Mem.unchanged_on  (fun b ofs => FreeEffect m lo hi sp b ofs = false) m m'.