(** The identitiy functor *)
Program Definition Functor_id (C : Category) : (C –≻ C)%functor :=
{|
FO := fun x => x;
FA := fun c d f => f
|}.
Section Functor_Identity_Unit.
Context  (C C' : Category) (F : (C –≻ C')%functor).

(* Specifications: *)
(** Fucntor_id is the left ididntity of functor composition. *)
Theorem Functor_id_unit_left : ((Functor_id C') ∘ F)%functor = F.
(** Functor_id is the right identity of functor composition. *)
Theorem Functor_id_unit_right : (Functor_compose (Functor_id _) F) = F.
End Functor_Identity_Unit.