Proof using map_congr.
move => net net' failed failed' tr H_st H_eq d H_eq'.
invcs H_st => //=.
- move: H_eq'.
rewrite /update.
break_if => H_eq'; last by congruence.
find_injection.
by rewrite tot_s_init_handlers_eq.
- move: H_eq'.
rewrite /update.
by break_if => H_eq'; congruence.
- move: H_eq'.
rewrite /update.
by break_if => H_eq'; congruence.
- by congruence.
Qed.

(* Specifications: *)
Lemma step_ordered_dynamic_failure_tot_one_mapped_simulation_star_1 :
step_ordered_dynamic_failure_tot_s_net_handlers_eq ->
forall net failed tr,
step_ordered_dynamic_failure_star step_ordered_dynamic_failure_init (failed, net) tr ->
forall d, net.(odnwState) me = Some d ->
exists tr', @step_s_star _ single init_handler (tot_s_map_data d) tr'.