Program Definition Comma_Hom_compose
{a b c : Comma_Obj} (h : Comma_Hom a b) (h' : Comma_Hom b c) :
Comma_Hom a c :=
{|
CMH_left := (CMH_left h') ∘ (CMH_left h);
CMH_right := (CMH_right h') ∘ (CMH_right h)
|}.
Next Obligation.

(* Specifications: *)
Theorem Comma_Hom_compose_assoc {a b c d : Comma_Obj} (h : Comma_Hom a b)
(h' : Comma_Hom b c) (h'' : Comma_Hom c d) :
Comma_Hom_compose h (Comma_Hom_compose h' h'') =
Comma_Hom_compose (Comma_Hom_compose h h') h''.