So last time I mentioned that we could describe the kernel of a group homomorphism via a universal property. For example, let be a group homomorphism, and let **D** be the full subcategory of **Grp** consisting of all groups such that for any group homomorphism we have is the zero homomorphism from to . Good. Now if **A** is the category with one element, and is a functor with , the inclusion functor, then the terminal object in the comma category is the kernel of ! Simple.

If you can understand all that, then it shouldn’t be too hard to see that the cokernel has a similar description. Cokernels are a bit more annoying to deal with when we’re just talking about ordinary groups (the image of a homomorphism is not necessarily a normal subgroup of the target group). Let’s then just restrict our attention to **Ab**, where things are much nicer. Ordinarily, we would define the cokernel of a homomorphism as the quotient group . As before, let **D** be the full subcategory of **Ab** such that for any group in **D**, we have that for any homomorphism , the composition , the homomorphism that sends everything in to in . Let be the inclusion functor, and the functor from the category with one element with value . Then the cokernel is the initial object in the comma category .

If we’re in a “nice” category, like the category **Ab** of abelian groups. Then the image of a group homomorphism has a particularly cool “set free” definition. Recall that when we defined the cokernel of a homomorphism, the object is actually a *pair *, where is a homomorphism and is the object that we normally think of as a cokernel. Since is a group homomorphism, we can ask “what is the kernel of ?” It’s the image of ! You should check this for yourself, but its pretty mechanical if you know the definition of what the cokernel is and have been following along. This property is often expressed as “The image is the kernel of the cokernel of .”

Of course, there is a much more “involved” definition of the image of a morphism for when we don’t have things like kernels or cokernels to play with. I don’t really like it as much, but it follows the same basic idea of being an initial object in a certain comma category.

If we’re back in **Ab**, and have the same group homomorphism , what would the “cokernel of the kernel” be? What would it mean for the “cokernel of the kernel” and the “kernel of the cokernel” of to be isomorphic, and how does this relate to the first isomorphism theorem for groups?