Category
A category $C$ consists of:
- a class of objects denoted as $\text{ob}(C).$
- a class of morphisms denoted as $\text{mor}(C).$
- a domain class function $\text{dom}: \text{mor}(C) \to \text{ob}(C).$
- a codomain class function $\text{codom} : \text{mor}(C) \to \text{ob}(C).$
- for every three objects $a, b, c \in \text{ob}(C)$, a binary operator $\circ: \text{hom}(a, b) \times \text{hom}(b, c) \to \text{hom}(a, c).$ Let $a, b, c, d \in \text{ob}(C),$ and $f \in \text{hom}(a, b), g \in \text{hom}(b, c), h \in \text{hom}(c, d)$, the following properties must hold:
- $h \circ (g \circ f) = (h \circ g) \circ f.$
- $\exists 1_a \in \text{hom}(a, a) : 1_a (a) = a.$
- $1_b \circ f = f \circ 1_a = f.$
Remarks
A category is also a semigroupoid with identities for every element.