Notation the_ge := (@the_ge the_program).

Lemma exec_instr_erased: forall (fn : function) (i : instruction) (rs rs' rs2: regset) (m m' m2 : mem) ev (HeraseCores: regs_erasure rs rs') (HerasedMem: mem_erasure m m') (Hexec_ev: Asm_event.drf_instr the_ge (fn_code fn) i rs m = Some ev) (Hexec: exec_instr the_ge fn i rs m = Next rs2 m2), exists rs2' m2' ev', exec_instr the_ge fn i rs' m' = Next rs2' m2' /\ Asm_event.drf_instr the_ge (fn_code fn) i rs' m' = Some ev' /\ regs_erasure rs2 rs2' /\ mem_erasure m2 (erasePerm m2') /\ mem_event_list_erasure ev ev'.