Proof using.
intros.
find_apply_lem_hyp refl_trans_1n_n1_trace.
prep_induction H1.
induction H1; intros; subst; eauto.
eapply H3; eauto.
- apply refl_trans_n1_1n_trace. auto.
- apply IHrefl_trans_n1_trace; auto.
Qed.

(* Specifications: *)
Lemma trace_mutex'_no_out_extend :
forall tr n h,
trace_mutual_exclusion' h tr ->
trace_mutual_exclusion' h (tr ++ [(n, inr [])]).
Lemma trace_mutex'_no_out_extend :
forall tr n h,
trace_mutual_exclusion' h tr ->
trace_mutual_exclusion' h (tr ++ [(n, inr [])]).