(** ** Constructing block classifications *)
Definition bc_nostack (bc: block_classification) : Prop :=
forall b, bc b <> BCstack.
Section NOSTACK.
Variable bc: block_classification.
Hypothesis NOSTACK: bc_nostack bc.

(* Specifications: *)
Lemma pmatch_no_stack: forall b ofs p, pmatch bc b ofs p -> pmatch bc b ofs Nonstack.
Lemma vmatch_no_stack: forall v x, vmatch bc v x -> vmatch bc v (Ifptr Nonstack).
Lemma smatch_no_stack: forall m b p, smatch bc m b p -> smatch bc m b Nonstack.
Lemma mmatch_no_stack: forall m am astk,
mmatch bc m am -> mmatch bc m {| am_stack := astk; am_glob := PTree.empty _; am_nonstack := Nonstack; am_top := Nonstack |}.