Definition REACH_closed m (X: Values.block -> bool) : Prop :=
(forall b, REACH m X b = true -> X b = true).
Definition mapped (j:meminj) b : bool :=
match j b with None => false | Some _ => true end.

Lemma inject_restrict: forall j m1 m2 X
(INJ : Mem.inject j m1 m2)
(RC : REACH_closed m1 X),
Mem.inject (restrict j X) m1 m2.