1.1 Categories and Functors
Definition 1.1.1 (Category). A category $\catc$ is a collection of objects $\obj{\catc}$, such that for any $A, B, C \in \obj{\catc}$, there exists sets $\mor{A, B}$, $\mor{B, C}$, and a composition law
that satisfies the following axioms:
For any $A, B, A', B' \in \obj{\catc}$, $\mor{A, B}$ and $\mor{A', B'}$ are disjoint or equal, where $\mor{A, B}= \mor{A', B'}$ if and only if $A = A'$ and $B = B'$.
For any $A \in \obj{\catc}$, there exists $\text{Id}_{A} \in \mor{A, A}$ such that $f \circ \text{Id}_{A} = f$ and $\text{Id}_{A} \circ g = g$ for all $B, C \in \obj{\catc}$, $f \in \mor{A, B}$, and $g \in \mor{C, A}$.
For any $A, B, C, D \in \obj{\catc}$, $f \in \mor{A, B}$, $g \in \mor{B, C}$, and $h \in \mor{C, D}$, $(h \circ g) \circ f = h \circ (g \circ f)$.
The elements of $\obj{\catc}$ are the objects of $\catc$, and elements of $\mor{A, B}$ are the morphisms/arrows from $A$ to $B$.
Definition 1.1.2 (Isomorphism). Let $\catc$ be a category, $A, B \in \obj{\catc}$, and $f \in \mor{A, B}$, then $f$ is an isomorphism if there exists $g \in \mor{B, A}$ such that $g \circ f = \text{Id}_{A}$ and $f \circ g = \text{Id}_{B}$.
For any $A, B \in \obj{\catc}$, $A$ and $B$ are isomorphic if there exists an isomorphism $f \in \mor{A, B}$.
Definition 1.1.3 (Functor). Let $\mathfrak{A}$ and $\mathfrak{B}$ be categories. A covariant functor is a rule that assigns each $A \in \obj{\mathfrak{A}}$ to some $\lambda(A) \in \obj{\mathfrak{B}}$, and each $f \in \mor{A, B}$ to some $\lambda(f) \in \mor{\lambda(A), \lambda(B)}$, such that
For any $A \in \obj{\mathfrak{A}}$, $\lambda(\text{Id}_{A}) = \text{Id}_{\lambda(A)}$.
For any $A, B, C \in \obj{\mathfrak{A}}$, $f \in \mor{A, B}$, and $g \in \mor{B, C}$, $\lambda(g \circ f) = \lambda(g) \circ \lambda(f)$.
A contravariant functor is a rule that assigns each $A \in \obj{\mathfrak{A}}$ to some $\lambda(A) \in \obj{\mathfrak{B}}$, and each $f \in \mor{A, B}$ to some $\lambda(f) \in \mor{\lambda(B), \lambda(A)}$, that satisfies (FN1) and
For any $A, B, C \in \obj{\mathfrak{A}}$, $f \in \mor{A, B}$, and $g \in \mor{B, C}$, $\lambda(g \circ f) = \lambda(f) \circ \lambda(g)$.