Let $R$ be a ring and $f:B\to C$ be a morphism of $R$-modules. The image of $f$ is of course

$${\rm im}(f) = \{ f(x) : x\in B \}.$$The image of $f$ is a submodule of $C$. It is pretty much self-evident that $f$ factors as

$$B\xrightarrow{e} {\rm im}(f)\xrightarrow{m} C$$where $e$ is a surjective homomorphism and $m$ is an injective homomorphism. In fact, there is nothing special about working in the category of $R$-modules at all. The same thing holds in the category of sets and a proof for the category of sets works perfectly well for the category of $R$-modules. This set-theoretic reasoning is very natural.

However, we can't always work with categories whose objects are sets with additional structure and whose morphisms are set functions that respect the additional structure (concrete categories). Sometimes we have to work with abelian categories. What's an abelian category? Briefly, it is a category $\Acl$ such that:

- The hom-sets are abelian groups and composition distributes over addition
- Every two objects have a product.
- There exists an object that is both terminal and initial
- Every map has a kernel and a cokernel
- Every monic is a kernel of its cokernel
- Every epic is a cokernel of its kernel

In a general abelian category, the objects may not be sets, and therefore, if you want to work with abelian categories, you need to prove things in a much different way. Actually, you can embed a small abelian category fully faithfully into a category of $R$-modules, but getting to that stage takes some work and isn't necessary for proving things in abelian categories.

## Image factorisation

Let's go back to the image factorisation result. For abelian categories, we would like to prove that each morphism $f:B\to C$ can be factored as $B\xrightarrow{e} {\rm im}(f)\xrightarrow{m} C$ where $e$ is epic and $m$ is monic. First though, we need to figure out what we mean by ${\rm im}(f)$, because we can't define it set-theoretically.

But in an abelian category, we can define kernels and cokernels. In categories of modules, we know that ${\rm coker}(f)$ is the quotient map $C\to C/{\rm im}(f)$. Ah, great. The kernel of this map is exactly what we need. Therefore, in an arbitrary abelian category we can define

$${\rm im}(f) = \ker{\rm coker}(f).$$

Before we lose ourselves with defining too many morphisms, let's see what we have so far in diagram form. Let $g = {\rm coker}(f)$ and let $m = \ker(g) = \ker{\rm coker}(f).$ Then we have:

Whoa, what's that $e$ arrow doing there? Remember, $m$ is the kernel of $g$. But $g\circ f = 0$, and so there exists a unique arrow $e$ making this diagram commute, as shown. Great, we've already found a factorisation of $f$. It's $f = m\circ e$. If we can prove that $e$ is epic, then we are done and we'll have a factorisation theorem for abelian categories.

*N.B. The dotted arrows in the diagram in general will refer to those unique arrows whose existence is guaranteed via the universal properties of kernels and cokernels.*

## Proving that $e$ is epic

Unsurprisingly, proving that $e$ is epic is the hard part. To do so, let $x:{\rm im}(f)\to X$ be an arbitrary arrow such that $x\circ e = 0$. By definition of epic, we need to show that $x = 0$. So let's let $k:K\to {\rm im}(f)$ be the kernel of $x$. Then:

Why is this? For then $0 = 0\circ k^{-1} = x\circ k\circ k^{-1} = x$. And, to show that $k$ is an isomorphism, it suffices to show that $k$ is epic. That's because $k$ is already monic, and in an abelian category, an arrow that is both monic and epic is an isomorphism. That's a little exercise I will leave to the reader. So let's see what we have so far in terms of diagrams:

I added all the arrows we talked about: the arbitrary arrow $x$ for proving that $e$ is epic, and the kernel $k$ of $x$. But I also added an additional arrow, drawn with a dotted line. This Remember, $k$ is the kernel of $x$ but we also know that $x\circ e = 0$ by assumption. Therefore, there exists a unique arrow $\ell:B\to K$ making the diagram commute.

Let's take a closer look at the arrows $m$ and $k$. They were both constructed as kernels. Therefore, they are both monic and hence their composition $m\circ k$ is also monic. In an abelain category, every monic is the kernel of some map, so let's let $t:C\to T$ be a map whose kernel is $m\circ k$. Going the long way around the diagram from $B$ to $T$ shows that $t\circ f = 0$. Because $g$ is already the cokernel of $f$, there is a unique arrow $s:D\to T$ making the diagram commute. Hey, we've introduced a lot of arrows so let's look at what our diagram has become now:

What is the arrow $t\circ m$? It is $s\circ g\circ m = s\circ 0$, because $m$ is the kernel of $g$. But we have chosen $t$ to be a map whose kernel is $m\circ k$. Therefore, by the universal property of this kernel, there exists a unique map $u:{\rm im}(f)\to K$ making the diagram commute. I think it's helpful to have a picture:

What can we conclude from all of this? From all the arrows present, we can write

$$m = m\circ k\circ u.$$

But because $m$ is monic, we can cancel it on the left to get $1 = k\circ u$. That means that $k$ is epic. It's hard to remember, but that's what we wanted to prove: because $k$ was constructed as a kernel, it is already monic. Since we now know that it's monic *and* epic, it is an isomorphism and so $x\circ k = 0$. Okay, since $k$ is epic that is actually sufficient since we can cancel epics from the right. We only really needed to know that $k$ is monic in order to know that $m\circ k$ is the kernel of a map, thereby allowing us to construct $u$.

## Duality

The axioms for abelian categories are dual. So, instead, we could have proven the theorem that $f$ factors through ${\rm coker}\ker(f)$, which we could also call the image of $f$. It might be a fun exercise to try and prove this dual statement instead.

## Conclusion

There's no doubt that the proof in abelian categories is more complex than a set-theoretic style proof. Now that I've looked it over a few times, I'm starting to see "why" it works but I didn't find this proof intuitive starting out. In particular, the key step of composing the kernel of $x$ with $m$ and seeing this composition as a kernel seems far from an obvious one. That's even after making a bunch of diagrams on my paper pad that looked like this:

Nonetheless, abelian categories are pretty cool and looking at module categories from this point of view is a new and often useful way of doing things.