# Reconciling different definitions of left-exact functor

I've seen three different definitions of what a left-exact functor is:

• Here as a functor that preserves finite limits

• Here as a functor $F$ with the property that if $0 \to A \to B \to C \to 0$ is exact then $0 \to F(A) \to F(B) \to F(C)$ is exact

• Also here as a functor $F$ with the property that if $0 \to A \to B \to C$ is exact then $0 \to F(A) \to F(B) \to F(C)$ is exact

I'm having a hard time convincing myself that these three definitions are equivalent. Its clear off the bat that any functor with the third property also has the second (since exactness of $0 \to A \to B \to C \to 0$ implies exactness of $0 \to A \to B \to C$); but its not immediately obvious why a functor having the second property should also have the third property? And I'm having trouble seeing the link between the second and third definitions and the first definition too. I'm not looking so much for formal proofs as much as just an intuitive idea as to what exactly 'left-exact functors' are; and why (intuitively) these three definitions should be equivalent?

An additive functor is just a functor between additive categories that preserves products. A special fact about additive categories is that they have biproducts, i.e. finite products and coproducts coincide. In general, for a functor to preserve all (finite) limits you just need to establish that it preserves (finite) products and equalizers because by a standard result in category theory, you can make all (finite) limits from (finite) products and equalizers. An additional property that an additive category has is that it is $\mathbf{Ab}$-enriched which means that the hom-sets form Abelian groups. For our purposes, this means we can reduce equalizers to kernels. That is, the equalizer of $f$ and $g$ is the kernel of $f-g$. (Going the other way, the kernel of $f$ is the equalizer of $f$ and $0$.)
In an Abelian category, we have a factorization property where every arrow $f : B \to C$ factors as $f = m\circ e$ where $e : B \twoheadrightarrow\mathsf{im}(f)$ and $m : \mathsf{im}(f)\rightarrowtail C$, where $e$ is an epimorphism and $m$ a monomorphism. So, given an exact sequence $0\to A\to B\stackrel{f}{\to}C$, we can extend it to an exact sequence $0\to A\to B\stackrel{e}{\to} \mathsf{im}(f)\to 0$. The image of that exact sequence is then the exact sequence $0\to F(A)\to F(B)\stackrel{F(e)}{\to} F(\mathsf{im}(f))$. If $F(m)$ was a monomorphism, this would imply that we could replace $F(e)$ with $F(f)=F(m\circ e)=F(m)\circ F(e)$ in the above diagram, but since in an Abelian category monomorphisms are kernels, we can use the same logic we just used to show that monomorphisms are preserved. This doesn't run into the issue we're trying to solve here, because we only need to know that they are kernels of something.