Category of abelian groups

In mathematics, the category Ab has the abelian groups as objects and group homomorphisms as morphisms. This is the prototype of an abelian category: indeed, every small abelian category can be embedded in Ab.
Properties.
The zero object of Ab is the trivial group {0} which consists only of its neutral element.
The monomorphisms in Ab are the injective group homomorphisms, the epimorphisms are the surjective group homomorphisms, and the isomorphisms are the bijective group homomorphisms.
Ab is a full subcategory of Grp, the category of "all" groups. The main difference between Ab and Grp is that the sum of two homomorphisms "f" and "g" between abelian groups is again a group homomorphism:
The third equality requires the group to be abelian. This addition of morphism turns Ab into a preadditive category, and because the direct sum of finitely many abelian groups yields a biproduct, we indeed have an additive category.
In Ab, the notion of kernel in the category theory sense coincides with kernel in the algebraic sense, i.e. the categorical kernel of the morphism "f" : "A" → "B" is the subgroup "K" of "A" defined by "K" = {"x" ∈ "A" : "f"("x") = 0}, together with the inclusion homomorphism "i" : "K" → "A". The same is true for cokernels; the cokernel of "f" is the quotient group "C" = "B" / "f"("A") together with the natural projection "p" : "B" → "C". (Note a further crucial difference between Ab and Grp: in Grp it can happen that "f"("A") is not a normal subgroup of "B", and that therefore the quotient group "B" / "f"("A") cannot be formed.) With these concrete descriptions of kernels and cokernels, it is quite easy to check that Ab is indeed an abelian category. 
The product in Ab is given by the product of groups, formed by taking the cartesian product of the underlying sets and performing the group operation componentwise. Because Ab has kernels, one can then show that Ab is a complete category. The coproduct in Ab is given by the direct sum; since Ab has cokernels, it follows that Ab is also cocomplete.
We have a forgetful functor Ab → Set which assigns to each abelian group the underlying set, and to each group homomorphism the underlying function. This functor is faithful, and therefore Ab is a concrete category. The forgetful functor has a left adjoint (which associates to a given set the free abelian group with that set as basis) but does not have a right adjoint.
Taking direct limits in Ab is an exact functor. Since the group of integers Z serves as a generator, the category Ab is therefore a Grothendieck category; indeed it is the prototypical example of a Grothendieck category.
An object in Ab is injective if and only if it is a divisible group; it is projective if and only if it is a free abelian group. The category has a projective generator (Z) and an injective cogenerator (Q/Z). 
Given two abelian groups "A" and "B", their tensor product "A"⊗"B" is defined; it is again an abelian group. With this notion of product, Ab is a closed symmetric monoidal category.
Ab is not a topos since e.g. it has a zero object.