Proof using.
move => net net' failed failed' tr H_nd H_step.
have H_eq_n: failed = map (@tot_map_name _ _ _ _ orig_multi_params_name_tot_map) failed by rewrite /tot_map_name /= map_id.
rewrite {1}H_eq_n.
have H_eq_n': failed' = map (@tot_map_name _ _ _ _ orig_multi_params_name_tot_map) failed' by rewrite /tot_map_name /= map_id.
rewrite {1}H_eq_n'.
rewrite 2!serialize_odnet_tot_map_odnet.
have ->: tr = map (@tot_map_trace _ _ _ _ _ orig_multi_params_name_tot_map) tr.
rewrite /tot_map_trace /= /id /= {H_step}.
elim: tr => //=.
by case => a; case => [i|o] l IH; rewrite -IH.
exact: step_ordered_dynamic_failure_tot_mapped_simulation_1.
Qed.

(* Specifications: *)
Lemma step_ordered_dynamic_failure_serialize_simulation_star :
forall net failed tr,
@step_ordered_dynamic_failure_star _ _ orig_name_overlay_params orig_new_msg_params orig_fail_msg_params step_ordered_dynamic_failure_init (failed, net) tr ->
@step_ordered_dynamic_failure_star _ _ serialized_name_overlay_params serialized_new_msg_params serialized_fail_msg_params step_ordered_dynamic_failure_init (failed, serialize_odnet net) tr.