(** The unique functor to the terminal category. *)
Program Definition Functor_To_1_Cat (C' : Category) : (C' –≻ 1)%functor :=
{|
FO := fun x => tt;
FA := fun a b f => tt;
F_id := fun _ => eq_refl;
F_compose := fun _ _ _ _ _ => eq_refl
|}.
(** Terminal category. *)
Program Instance Cat_Term : (𝟙_ Cat)%object :=
{
terminal := 1%category;
t_morph := fun x => Functor_To_1_Cat x
}.
Next Obligation. (* t_morph_unique *)
(** A functor from terminal category maps all arrows (any arrow is just the identity) to the identity arrow. *)
Section From_Term_Cat.
Context {C : Category} (F : (1 –≻ C)%functor).

Theorem From_Term_Cat : ∀ h, (F @_a tt tt h)%morphism = id.
End From_Term_Cat.