Proof using name_map_bijective multi_map_lb_congr multi_map_congr fail_map_congr.
case => e s H_star H_exec.
apply: step_failure_star_lb_step_execution.
rewrite /=.
rewrite /tot_map_net_event /= /event_step_star /=.
apply: step_failure_tot_mapped_simulation_star_1.
by have <-: evt_a e = (fst (evt_a e), snd (evt_a e)) by destruct e, evt_a.
exact: lb_step_trace_execution_lb_step_failure_tot_map_net_infseq.
Qed.
(* lb_step_ordered_failure *)

Theorem lb_step_ordered_failure_tot_mapped_simulation_1 :
forall net net' failed failed' lb tr,
@lb_step_ordered_failure _ labeled_multi_fst (failed, net) lb (failed', net') tr ->
@lb_step_ordered_failure _ labeled_multi_snd (List.map tot_map_name failed, tot_map_onet net) (tot_map_label lb) (List.map tot_map_name failed', tot_map_onet net') (List.map tot_map_trace tr).