(** The following lemmas establish the absence of machine integer overflow during address computations. *)

Theorem aligned_area_inject:
forall f m m' b ofs al sz b' delta,
inject f m m' ->
al = 1 \/ al = 2 \/ al = 4 \/ al = 8 -> sz > 0 ->
(al | sz) ->
range_perm m b ofs (ofs + sz) Cur Nonempty ->
(al | ofs) ->
f b = Some(b', delta) ->
(al | ofs + delta).