Proof using.
unfold outputs_m.
intros.
break_match; auto; congruence.
Qed.
Hint Extern 4 => congruence.

(* Specifications: *)
Lemma correspond_preserved_primary_apply_entry :
forall sigma sigma' st tr_1 tr_m tr_m' i l d h,
correspond st sigma tr_1 tr_m ->
handler i (state (sigma h)) = (l, state d) ->
sigma' Primary = d ->
outputs_m tr_m' = [l] ->
h = Primary ->
queue (sigma h) = i :: queue d ->
correspond st sigma' tr_1 (tr_m ++ tr_m').