additive and abelian categories
(AB1) pre-abelian category
(AB2) abelian category
(AB5) Grothendieck category
left/right exact functor
A pre-abelian category is an additive category (an Ab-enriched category with finite biproducts) such that every morphism has a kernel and a cokernel.
Equivalently:
A pre-abelian category is an Ab-enriched category category with all finite limits and finite colimits.
These two definitions are indeed equivalent.
By the discussion here the existence of finite limits is equivalent to that of finite products and equalizers. But an equalizer of two morphisms $f$ and $g$ in an Ab-enriched category is the same as a kernel of $f-g$. Dually for finite colimits, coequalizers and cokernels.
For every object $c\in C$ in a pre-abelian category, the operations of kernel and cokernel form a Galois connection between the preorders $Sub(c)$ of monomorphisms (subobjects) into $c$ and $Quot(c)$ of epimorphismsout of $c$.
In particular, $f:b\to c$ is a kernel iff $f = ker(coker(f))$ and dually.
Every morphism $f:A\to B$ in a pre-abelian category has a canonical decomposition
where $p$ is a cokernel, hence an epi, and $i$ is a kernel, and hence monic.
If $\bar f$ in the above decomposition is always an isomorphism, then the pre-abelian category is called an abelian category.
Of course every abelian category is pre-abelian.
The category $TF$ of torsion-free abelian groups is reflective in all of Ab. Therefore, it is a complete and cocomplete $Ab$-enriched category, and therefore in particular pre-abelian. However, it is not abelian; the monomorphism $2:\mathbb{Z}\to \mathbb{Z}$ is not a kernel.
The concept “pre-abelian category” is part of a sequence of concepts of additive and abelian categories.