(** Effect of [free] on permissions. *)

(* Specifications: *)
Axiom perm_free_1:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall b ofs k p,
b <> bf \/ ofs < lo \/ hi <= ofs ->
perm m1 b ofs k p ->
perm m2 b ofs k p.
Axiom perm_free_2:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall ofs k p, lo <= ofs < hi -> ~ perm m2 bf ofs k p.
Axiom perm_free_3:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall b ofs k p,
perm m2 b ofs k p -> perm m1 b ofs k p.
Axiom perm_free_1:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall b ofs k p,
b <> bf \/ ofs < lo \/ hi <= ofs ->
perm m1 b ofs k p ->
perm m2 b ofs k p.
Axiom perm_free_2:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall ofs k p, lo <= ofs < hi -> ~ perm m2 bf ofs k p.
Axiom perm_free_3:
forall m1 bf lo hi m2, free m1 bf lo hi = Some m2 ->
forall b ofs k p,
perm m2 b ofs k p -> perm m1 b ofs k p.