Proof using tot_map_label_injective.
move => l.
apply: always_map_conv.
apply: eventually_map_conv => //.
- rewrite /extensional /=.
case => e s1.
case => e' s2.
move => H_eq.
by inversion H_eq; subst_max.
- rewrite /extensional /=.
case => e s1.
case => e' s2.
move => H_eq.
by inversion H_eq; subst_max.
- case => e s.
rewrite /= /occurred /=.
move => H_eq.
exact: tot_map_label_injective.
Qed.
Context {fail_fst : FailureParams (@unlabeled_multi_params _ labeled_multi_fst)}.
Context {fail_snd : FailureParams (@unlabeled_multi_params _ labeled_multi_snd)}.
Context {fail_map_congr : FailureParamsTotalMapCongruency fail_fst fail_snd base_map}.

(* Specifications: *)
Lemma tot_map_net_hd_step_failure_star_always :
forall s, event_step_star step_failure step_failure_init (hd s) ->
lb_step_execution lb_step_failure s ->
always (now (event_step_star step_failure step_failure_init)) (map tot_map_net_event s).