Notation the_ge := (@the_ge the_program).

Lemma external_call_erasure: forall ef m1 m1' vs1 vs1' t m2 vres (Hef: match ef with | EF_memcpy _ _ | EF_malloc | EF_free => True | _ => False end) (Hmem: mem_erasure m1 m1') (Hval_erasure: val_erasure_list vs1 vs1') (Hextcall: external_call ef the_ge vs1 m1 t vres m2), exists vres' m2', external_call ef the_ge vs1' m1' t vres' m2' /\ val_erasure vres vres' /\ mem_erasure m2 (erasePerm m2').