Proof using overlay_map_congr name_map_bijective.
move => m m' h failed H_eq.
apply pt_nodup_perm_map_map_pair_perm => //; first exact: no_dup_nodes.
apply Permutation_sym.
exact: permutation_nodes.
Qed.
Context {fail_msg_fst : FailMsgParams multi_fst}.
Context {fail_msg_snd : FailMsgParams multi_snd}.
Context {fail_msg_map_congr : FailMsgParamsPartialMapCongruency fail_msg_fst fail_msg_snd msg_map}.

(* Specifications: *)
Theorem step_ordered_failure_pt_mapped_simulation_1 :
forall net net' failed failed' tr,
@step_ordered_failure _ _ overlay_fst fail_msg_fst (failed, net) (failed', net') tr ->
@step_ordered_failure _ _ overlay_snd fail_msg_snd (map tot_map_name failed, pt_map_onet net) (map tot_map_name failed', pt_map_onet net') (filterMap pt_map_trace_ev tr) \/
pt_map_onet net' = pt_map_onet net /\ failed = failed' /\ filterMap pt_map_trace_ev tr = [].