\section{Category Theory}
\label{sec:Category Theory}
Before we will introduce the two categories $\Ch{\Ab}$ and $\sAb$, let us begin by recalling some basic category theory. The reader who is already familiar with these concepts, is invited to skip this section. We will introduce the notions of categories, functors, isomorphisms, natural transformations, equivalences, adjunctions and the Yoneda lemma.

\subsection{Categories}
\todo{CT: Where to start...?}
\begin{definition}
	A \emph{category} $\cat{C}$ consists of a collection of \emph{objects}, and for each two objects $A$ and $B$ in $\cat{C}$ there is a set of \emph{maps}  from $A$ to $B$, notated as $\Hom{\cat{C}}{A}{B}$, such that
	\begin{itemize}
		\item \emph{(Identity)}
			$\id_A \in \Hom{\cat{C}}{A}{A}$ for all $A$ in $\cat{C}$,
		\item \emph{(Composition)}
			for any $f \in \Hom{\cat{C}}{A}{B}$ and $g \in \Hom{\cat{C}}{B}{C}$ we have $g \circ f \in \Hom{\cat{C}}{A}{C}$,
		\item \emph{(Associativity)}
			$h \circ (g \circ f) = (h \circ g) \circ f$, and
		\item \emph{(Identity law)}
			$\id_B \circ f = f = f \circ \id_A$ for all $f \in \Hom{\cat{C}}{A}{B}$.
	\end{itemize}
\end{definition}

Note that the collection of objects may be a proper class instead of a set, however we will notate $A \in \cat{C}$ if $A$ is an object of $\cat{C}$. And instead of writing $f \in \Hom{\cat{C}}{A}{B}$, we write $f: A \to B$.

As the notation suggests maps should be thought of as functions. Which is also the case in many categories, as objects are often sets with an additional structure and maps are functions ``preserving that structure''.

\begin{example}
	The category $\Set$ has as its objects sets, and as maps it has ordinary functions. Of course we then have the identity function $\id_X(x) = x$ and composition as usual.
\end{example}
\begin{example}
	The category $\Ab$ has as objects abelian groups, and the maps between two objects are exactly the group homomorphisms. We know that the identity function is indeed a group homomorphism, and composing two group homomorpisms, gives indeed a new group homomorphism.
\end{example}

In fact many mathematical structures can be organized in a category, there is a category $\cat{Ring}$ of rings and ring homomorphisms, $\cat{Vect}$ for $\R$-vector spaces and $\R$-linear maps, $\cat{Set_{fin}}$ of finite sets, $\Top$ of topological spaces and continuous functions, etc. Of course we would also like to express relations between categories. For example every abelian group is also a set, and a group homomorphism is also a function. This idea can be formalized by the notion of a functor.

\begin{definition}
	A \emph{functor} $F$ from a category $\cat{C}$ and to a category $\cat{D}$ consists of a function $F_0$ from the objects of $\cat{C}$ to the objects of $\cat{D}$ and a function $F_1$ from maps in $\cat{C}$ to maps in $\cat{D}$, such that
	\begin{itemize}
		\item for $f: A \to B$, we have $F_1(f): F_0(A) \to F_0(B)$,
		\item $F_1(\id_A) = \id_{F_0(A)}$ and
		\item $F_1(g \circ f) = F_1(g) \circ F_1(f)$.
	\end{itemize}
	We normally do not write the index of $F_0$ or $F_1$, instead we write $F$ for both functions.
\end{definition}
\todo{CT: contravariant functor}

Note that the composition of two functors is again a functor, and that we always have an identity functor, sending each object to itself and each map to itself. This gives rise to a category $\cat{Cat}$ of \emph{small} categories. Note that we need some kind of \emph{smallness} to avoid set-theoretical issues, because we require the collection of maps between objects to be a set, whereas the collection of objects is not necessarily a set. However we will not be interested in these set-theoretic issues, and hence skip the definition of small.

\subsection{Isomorphisms}
Given a category $\cat{C}$ and two objects $A, B \in \cat{C}$ we would like to know when those objects are regarded as the same, according to the category. This will be the case when there is an isomorphism between the two.

\begin{definition}
	A map $f: A \to B$ in a category $\cat{C}$ is an \emph{isomorphism} if there is a map $g: B \to A$ such that
	$$ f \circ g = \id_B \quad\text{and}\quad g \circ f = \id_A.$$
\end{definition}

Isomorphisms in $\Ab$ are exactly the isomorphisms which we know, i.e. the group homomorphisms which are both injective and surjective.
For example the cyclic group $\Z_4$ and the Klein four-group $V_4$ are not isomorphic in $\Ab$, but if we regard only the sets $\Z_4$ and $V_4$, then they are (because there is a bijection). So it is good to note that whether two objects are isomorphic  really depends on the category we are working in.

Note that an isomorphism between to categories is now also defined. Two categories $\cat{C}$ and $\cat{D}$ are isomorphic if there are functors $F$ and $G$ such that $ FG = \id_\cat{D}$ and $GF = \id_\cat{C}$.

\subsection{Natural transformations}

\begin{definition}
	Given two functors $F, G: \cat{C} \to \cat{D}$, a \emph{natural transformation} $\phi$ from $F$ to $G$, is a family of maps $\phi_c : F(c) \to G(c)$ for $c \in \cat{C}$, such that
	\begin{center}
	\begin{tikzpicture}
		\matrix (m) [matrix of math nodes]{
			F(c)  & G(c)  \\
			F(c') & G(c')  \\
		};
		\path[->]
		(m-1-1) edge node[auto] {$ \phi_c $} (m-1-2)
		(m-2-1) edge node[auto] {$ \phi_{c'} $} (m-2-2)
		(m-1-1) edge node[auto] {$ F(f) $} (m-2-1)
		(m-1-2) edge node[auto] {$ G(f) $} (m-2-2);
	\end{tikzpicture}
	\end{center}
	commutes for any map $f: c \to c'$ and any objects $c, c' \in \cat{C}$.
\end{definition}

\begin{lemma}
	For any two categories $\cat{C}$ and $\cat{D}$ we can form a category with functors $F: \cat{C} \to \cat{D}$ as objects and natural transformations as maps. This category is called the \emph{functor category} and is denoted by $\cat{D}^\cat{C}$.
\end{lemma}
\begin{proof}
	We refer to Mac Lane \cite{maclane} or Awodey \cite{awodey}.
\end{proof}

This now also gives a notion of isomorphisms between functors. It can be easily seen that an isomorphism between two functors is a natural transformation which is an isomorphism pointwise. Such a natural transformation is called a \emph{natural isomorphism}.

\todo{CT: Hom-functor}
\subsection{Equivalence}
Recall that an \emph{isomorphism} between categories $\cat{C}$ and $\cat{D}$ consists of two functors $F:\cat{C} \to \cat{D}$ and $G: \cat{D} \to \cat{C}$ such that
$$ FG = \id_\cat{D} \quad\text{and}\quad \id_\cat{C} = GF. $$
With the notion of isomorphisms between functors we can generalize this, and only require a natural isomorphism instead of equality.

\begin{definition}
	An \emph{equivalence} between two categories $\cat{C}$ and $\cat{D}$ consists of two functors $F:\cat{C} \to \cat{D}$ and $G: \cat{D} \to \cat{C}$ such that there are natural isomorphisms:
	$$ FG \iso \id_\cat{D} \quad\text{and}\quad \id_\cat{C} \iso GF. $$
	This is denoted by $\cat{C} \simeq \cat{D}$.
\end{definition}

\begin{example}
	The category $\cat{Set_{fin}}$ of finite sets is equivalent to the category $\cat{Ord_{fin}}$ of finite ordinals (with all functions). The former is uncountable and the latter is countable, hence they clearly cannot be isomorphic. However, from a categorical point of view these categories are very alike, which is precisely expressed by the equivalence.
\end{example}

\subsection{Adjunctions}
\begin{definition}
	An \emph{adjunction} between two categories $\cat{C}$ and $\cat{D}$ consists of two functors $F:\cat{C} \to \cat{D}$ and $G: \cat{D} \to \cat{C}$ together with a natural bijection
	$$ \Hom{\cat{D}}{FX}{Y} \iso \Hom{\cat{C}}{X}{GY}, $$
	for any $X \in \cat{C}$ and $Y \in \cat{D}$. The functor $F$ is called the \emph{left adjoint} and $G$ the \emph{right adjoint}.
\end{definition}

Now there are different definitions of adjunctions, which are equivalent. We will not prove that these are equivalent. One can find the proof in for example in the books of Mac Lane \cite{maclane} or Awodey \cite{awodey}. A particular nice one is the following:

\begin{definition}
	An adjunction between two categories $\cat{C}$ and $\cat{D}$ consists of two functors $F:\cat{C} \to \cat{D}$, $G: \cat{D} \to \cat{C}$ and a natural transformation, called the \emph{unit}:
	$$ \eta : \id_\cat{C} \to GF. $$
	Such that for any map $f: S \to G(A)$ (in $\cat{C}$), there is a unique map $\overline{f}: F(S) \to A$ (in $\cat{D}$) such that $G(\overline{f}) \circ \eta = f$. I.e.:
\begin{center}
	\begin{tikzpicture}
		\matrix (m) [matrix of math nodes]{
			S & GF(S) & F(S) \\
			  & G(A)  & A \\
		};
		\path[->]
		(m-1-1) edge node[auto] {$ \eta $} (m-1-2)
		(m-1-2) edge node[auto] {$ G(\overline{f}) $} (m-2-2)
		(m-1-1) edge node[auto] {$ f $} (m-2-2);
		\path[->]
		(m-1-3) edge node[auto] {$ \overline{f} $} (m-2-3);
	\end{tikzpicture}
\end{center}
\end{definition}

Note that by considering the identity map $\id : G(A) \to G(A)$ in $\cat{C}$, we get a uniquely determined map $\overline{\id}:FG(A) \to A$. This map $FG(A) \to A$ is in fact natural in $A$, this natural transformation is called the \emph{co-unit}
$$ \eps: FG \to \id. $$

It can be shown that an equivalence $F: \cat{C} \tot{\simeq} \cat{D}$ is both a left and right adjoint. We sketch the proof of $F$ being a left adjoint. Clearly we already have the natural transformation $\eta: \id_\cat{C} \to GF$. To construct $\overline{f}$ from $f: S \to G(A)$ we can apply the functor $F$, to get $F(S) \to FG(A)$, using the other natural isomorphism we get $F(S) \to FG(A) \to A$. We leave the details to the reader.

The first definition of adjunction is useful when dealing with maps, since it gives an bijection between the $\mathbf{Hom}$-sets. However the second definition is useful when proving a certain construction is part of an adjunction, as shown in the following example.

\begin{example}
	\emph{(The free abelian group)} There is an obvious functor $U: \Ab \to \Set$, which sends an abelian group to its underlying set, forgetting the additional structure. It is hence called a \emph{forgetful functor}. This functor is a right adjoint. The left adjoint $\Z[-]: \Set \to \Ab$ is given by the \emph{free abelian group}; for a set $S$ define
	$$ \Z[S] = \{ \phi: S \to \Z \I \text{supp}(\phi) \text{ is finite}\}, $$
	where $\text{supp}(\phi) = \{ s \in S \I \phi(s) \neq 0 \}$. The group structure on $\Z[S]$ is given pointwise. One can think of elements of this abelian group as formal sums, namely:
	$$ \text{for } \phi \in F(S),\, \phi = \sum_{x \in \text{supp}(\phi)}\phi(x) x, $$
	in other words $\Z[S]$ consists of linear combinations of elements in $S$.

	There is a map $\eta: S \to U\Z[S]$ given by:
	$$ \eta(s)(t) =
	\begin{cases}
		1 \text{ if } s = t \\
		0 \text{ otherwise}
	\end{cases}. $$

	And given any map $f: S \to U(A)$ for any abelian group $A$, we can define
	$$ \overline{f}(\phi) = \sum_{x \in \text{supp}(\phi)} \phi(x) \cdot f(x). $$

	It is clear that $U(\overline{f}) \circ \eta = f$. We will leave the other details (naturality of $\eta$, $\overline{f}$ being a group homomorphism, and uniqueness w.r.t. $U(\overline{f}) \circ \eta = f$) to the reader.
\end{example}

\subsection{The Yoneda lemma}
So far we have only encountered definitions from category theory. However there is a very important lemma by Yoneda. This lemma gives a nice way to construct certain natural transformations.

\begin{definition}
	For any category $\cat{C}$, we define a functor $y:\cat{C} \to \Set^{\cat{C}^{op}}$ as follows
	$$ y(X) = \Hom{\cat{C}}{-}{X}. $$
	The functor $y$ is called the \emph{Yoneda embedding}.
\end{definition}

\begin{lemma}\emph{(The Yoneda lemma)}
	Given a functor $F: \cat{C} \to \Set$ and any object $C \in \cat{C}$ there is a bijection
	$$ \mathbf{Nat}(y(C), F) \iso F(C), $$
	which is natural in both $F$ and $C$, where $\mathbf{Nat}(G, G')$ denotes the set of natural transformation between $G$ and $G'$, in other words $\mathbf{Nat} = \mathbf{Hom}_{\Set^{\cat{C}^{op}}}$.
\end{lemma}

We will use this lemma when we discuss simplicial abelian groups.