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_val_inject: forall j val1 val2 (Inj : val_inject j val1 val2) X (HR: forall b, getBlocks (val1::nil) b = true -> X b = true), val_inject (restrict j X) val1 val2.