(** * Neededness for memory locations *)

Inductive nmem : Type :=
  | NMemDead
  | NMem (stk: ISet.t) (gl: PTree.t ISet.t).(** * Neededness for memory locations *)

Inductive nmem : Type :=
  | NMemDead
  | NMem (stk: ISet.t) (gl: PTree.t ISet.t).(** * Neededness for memory locations *)

Inductive nmem : Type :=
  | NMemDead
  | NMem (stk: ISet.t) (gl: PTree.t ISet.t).(** All locations are live *)

Definition nmem_all := NMem ISet.empty (PTree.empty _).

Lemma incl_nmem_add: forall nm b i p sz, nlive nm b i -> nlive (nmem_add nm p sz) b i.