Remark inject_incr_separated_same:
  forall f1 f2 m1 m1',
  inject_incr f1 f2 -> inject_separated f1 f2 m1 m1' ->
  forall b, Mem.valid_block m1 b -> f2 b = f1 b.Remark inject_incr_separated_same':
  forall f1 f2 m1 m1',
  inject_incr f1 f2 -> inject_separated f1 f2 m1 m1' ->
  forall b b' delta,
  f2 b = Some(b', delta) -> Mem.valid_block m1' b' -> f1 b = Some(b', delta).

Lemma match_env_external_call: forall f1 cenv e sp lo hi f2 m1 m1' (WD2: SM_wd f2), match_env (restrict (as_inj f1) (vis f1)) cenv e sp lo hi -> extern_incr f1 f2 -> inject_separated (restrict (as_inj f1) (vis f1)) (as_inj f2) m1 m1' -> Ple hi (Mem.nextblock m1) -> Plt sp (Mem.nextblock m1') -> match_env (as_inj f2) cenv e sp lo hi.