(*TODO: Move to ev_semantics*)
    Definition in_free_list (b : block) ofs xs :=
      exists x, List.In x xs /\
           let '(b', lo, hi) := x in
           b = b' /\
           (lo <= ofs < hi)%Z.

Lemma free_list_cases: forall l m m' b ofs (Hfree: Mem.free_list m l = Some m'), (permission_at m b ofs Cur = Some Freeable /\ permission_at m' b ofs Cur = None) \/ (permission_at m b ofs Cur = permission_at m' b ofs Cur).