(** Compatibility between a compilation environment and an address-taken set. *)
Definition compat_cenv (atk: VSet.t) (cenv: compilenv) : Prop :=
forall id, VSet.In id atk -> VSet.In id cenv -> False.

(* Specifications: *)
Lemma compat_cenv_for:
forall f, compat_cenv (addr_taken_stmt f.(fn_body)) (cenv_for f).
Lemma compat_cenv_union_l:
forall atk1 atk2 cenv,
compat_cenv (VSet.union atk1 atk2) cenv -> compat_cenv atk1 cenv.
Lemma compat_cenv_union_r:
forall atk1 atk2 cenv,
compat_cenv (VSet.union atk1 atk2) cenv -> compat_cenv atk2 cenv.
Lemma compat_cenv_empty:
forall cenv, compat_cenv VSet.empty cenv.