(*(FE : Clight.function -> list val -> mem -> Clight.env -> Clight.temp_env -> mem -> Prop) (FE_FWD : forall f vargs m e lenv m', FE f vargs m e lenv m' -> mem_forward m m') (FE_UNCH : forall f vargs m e lenv m', FE f vargs m e lenv m' ->( Mem.unchanged_on (fun b z => EmptyEffect b z = false) m m'))*)
(*  (CS: corestep (clight_eff_sem FE FE_FWD FE_UNCH) ge st1 m1 st1' m1')*)

Lemma restrict_vis_foreign: forall mu (WD: SM_wd mu) b1 b2 delta
(R: restrict (as_inj mu) (vis mu) b1 = Some (b2, delta))
(LT: locBlocksTgt mu b2 = false),
foreign_of mu b1 = Some (b2, delta).