Section Comma.
Context {B C D : Category} (F : (B –≻ C)%functor) (G : (D –≻ C)%functor).
Record Comma_Obj : Type :=
{
CMO_src : B;
CMO_trg : D;
CMO_hom : ((F _o CMO_src) –≻ (G _o CMO_trg))%object
}.
Record Comma_Hom (a b : Comma_Obj) : Type :=
{
CMH_left : (CMO_src a) –≻ (CMO_src b);
CMH_right : (CMO_trg a) –≻ (CMO_trg b);
CMH_com :  ((G _a CMH_right) ∘ (@CMO_hom a) =
(@CMO_hom b) ∘ (F _a CMH_left))%morphism
}.
Arguments CMH_left {_ _} _.
Arguments CMH_right {_ _} _.
Arguments CMH_com {_ _} _.

Theorem Comma_Hom_eq_simplify {a b : Comma_Obj} (h h' : Comma_Hom a b) :
(@CMH_left _ _ h) = (@CMH_left _ _ h') →
(@CMH_right _ _ h) = (@CMH_right _ _ h') → h = h'.