I'm trying to understand a proof in Rotman's 'Introduction to Homological Algebra', Proposition 5.92, p.310.

Proposition: Let $\mathcal S$ be a full subcategory of an abelian category $\mathcal A$. If, for all $A, B \in \text{obj}(\mathcal S)$ and all $f : A \to B$,

  1. a zero object in $\mathcal A$ lies in $\mathcal S$,
  2. the direct sum $A \oplus B$ in $\mathcal A$ lies in $\mathcal S$,
  3. both $\text{ker } f$ and $\text{coker } f$ lie in $\mathcal S$,

then $\mathcal S$ is an abelian category.

The definition for abelian category that is being used: A category $\mathcal C$ is an abelian category if it is an additive category such that

  1. every morphism has a kernel and cokernel
  2. every monomorphism is a kernel and every epimorphism is a cokernel.

Here's the proof given in the book:

The hypothesis gives $\mathcal S$ additive, so $\mathcal S$ is abelian if axiom 2 in the definition of abelian category holds. If $f : A \to B$ is a monomorphism in $\mathcal S$, then $\text{ker } f = 0$. But $\text{ker } f$ is the same in $\mathcal A$ as in $\mathcal S$, by hypothesis, so that $f$ is monic in $\mathcal A$. By hypothesis, $\text{coker } f$ is a morphism in $\mathcal S$. As $\mathcal A$ is abelian, there is a morphism $g : B \to C$ with $f = \text{ker } g$. But $g$ is a morphism in $\mathcal S$, because $\mathcal S$ contains cokernels, and so $f = \text{ker } g$ in $\mathcal S$.

I understand that $\text{coker } f$ is a morphism in $\mathcal S$.

I also understand that since $\mathcal A$ is abelian, there exists a morphism $g : B\to C$ with $f = \text{ker } g$ (this is the second axiom of the definition of abelian category being applied to $\mathcal A$).

I don't understand how these two pieces are connected, but from the way he's using them, it appears that he's assuming $g = \text{coker } f$. I don't see how this follows, since we're only given that there exists a function $g$ in $\mathcal A$ with $f = \text{ker } g$.

The main piece of the proof I don't understand is the line "But $g$ is a morphism in $\mathcal S$, because $\mathcal S$ contains cokernels".

I understand $\mathcal S$ contains cokernels, but I don't understand why that implies that $g$ is in $\mathcal S$, unless $g$ is a cokernel of a morphism in $\mathcal S$. My guess was that $g = \text{coker } f$, but I'm unable to show this. (I've tried using the definition of cokernel as the solution to the universal mapping problem to show that $g = \text{coker }f$, specifically showing domain and codomain are the same, or equivalent, but it hasn't gotten me anywhere).

Also, as a side question: the first axiom in the proposition statement seems out of place. I think that should be before: "If, for all $A, B$...". Correct?

  • 2
    $\begingroup$ If a morphism is a kernel in $\mathcal{A}$, it is a kernel in $\mathcal{S}$ a fortiori. $\endgroup$
    – egreg
    Aug 26, 2015 at 16:22
  • $\begingroup$ @egreg, why is that true? My understanding is that a morphism $f : A \to B$ is a kernel if there exists $g : B \to C$ for some object $C$ such that $f = \text{ker } g$. In this case, how do we even know $C$ is in $\mathcal S$? $\endgroup$ Aug 26, 2015 at 16:32
  • $\begingroup$ It's in the hypotheses, isn't it? $\endgroup$
    – egreg
    Aug 26, 2015 at 16:33
  • $\begingroup$ I don't see it: we start with a monic morphism $f$ in $\mathcal S$, then we move up towards $\mathcal A$ and it's still monic there. We use the definition of abelian category to get $g : B \to C$ in $\mathcal A$ with $f = \text{ker } g$. So we don't know that $C \in \text{obj }(\mathcal S)$. $\endgroup$ Aug 26, 2015 at 16:37
  • $\begingroup$ I think it would follow from the universal property as follows: since $\mathrm{coker} f$ and $g$ are both cokernels for $f$, you can show that there exists an invertible morphism $\theta$ such that $\theta g = \mathrm{coker} f$ (existence follows from $g$ being a cokernel; invertibility follows from applying the universal property to both). Therefore $$f = \mathrm{ker} \theta g = \mathrm{ker} g.$$ But I don't see how you can conclude that $g$ is a morphism in $\mathcal{S}$, unless $\mathcal{S}$ is strictly full (the codomains of $g$ and $\mathrm{coker} f$ are isomorphic, via $\theta$). $\endgroup$
    – M Turgeon
    Aug 26, 2015 at 17:37

1 Answer 1


It simply doesn't follow that $g$ is a morphism in $S$. For example, $A$ might be the category of abelian groups, $S$ might be the full subcategory of finitely generated abelian groups, and the target of $g$ might be an infinitely generated abelian group.

But the proof is very easy to repair: just define $g = \text{coker}(f) \in A$ in the first place. Then in fact we have $g \in S$, so $\text{ker}(g) \in S$ as well. Now, a key feature of full subcategories $S$ is that any limits or colimits, in $A$, of $S$-valued diagrams which happen to land in $S$ must in fact be limits or colimits in $S$: that is, inclusions of full subcategories reflect limits and colimits. Because $f = \text{ker}(g)$ in $A$, it follows that $f = \text{ker}(g)$ in $S$ as well, so $f$ is a kernel. Similarly for epimorphisms.

  • $\begingroup$ Why is $f = \text{ker } g$ in $A$ in the first place, given that you've defined $g$ yourself this time, instead of using the face that such a $g$ with that property exists? $\endgroup$ Aug 27, 2015 at 10:04
  • 1
    $\begingroup$ @Robert: it's an exercise to show that in an abelian category, every monomorphism is the kernel of its cokernel. (We have to know that $f$ is a monomorphism in $A$ in addition to being a monomorphism in $S$, but this follows from the fact that we know that its kernel is zero in both cases.) $\endgroup$ Aug 27, 2015 at 17:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.