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.