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 restrict_forall_vals_inject: forall j vals1 vals2
(Inj : Forall2 (val_inject j) vals1 vals2)
X (HR: forall b, getBlocks vals1 b = true -> X b = true),
Forall2 (val_inject (restrict j X)) vals1 vals2.