(* This in principle is not provable. We should get it somehow from the simulation. Possibly, by showing that the (internal) Clight step has no traces and allo external function calls have traces, so the "matching" Asm execution must be all internal steps (because otherwise the traces wouldn't match). *)
Admitted.

Lemma inject_incr_trace:
forall (tr1 tr2 : list Events.machine_event) (mu f' : meminj),
inject_incr mu f' ->
List.Forall2 (inject_mevent mu) tr1 tr2 ->
List.Forall2 (inject_mevent f') tr1 tr2.