Definition val_inject_opt (j: meminj) (v1 v2: option val) :=
  match v1, v2 with Some v1', Some v2' => val_inject j v1' v2'
  | None, None => True
  | _, _ => False
  end.

Lemma loadbytes_unchanged_on (P : block -> Z -> Prop) m m' b ofs n: Mem.unchanged_on P m m' -> Mem.valid_block m b -> (forall i : Z, ofs <= i < ofs + n -> P b i) -> Mem.loadbytes m b ofs n = Mem.loadbytes m' b ofs n.