Opaque Mem.alloc.

(*new lemma*)
Lemma free_parallel_inject:
forall j (m1 m2 : mem) (b : block) (lo hi : Z) (m1' : mem) ,
Mem.inject j m1 m2 ->
Mem.free m1 b lo hi = Some m1' ->
forall b2 d (J: j b = Some(b2,d)),
exists m2' : mem, Mem.free m2 b2 (lo+d) (hi+d) = Some m2' /\
Mem.inject j m1' m2'.