If $$0\to X_0\to X_1\to X_2\to X_3\to \dotsb$$ is exact. Why does an additive, left-exact covariant functor $G$ gives us an exact sequence: $$0\to G(X_0)\to G(X_1)\to G(X_2)$$ I know that by left-exactness is preserves monomorphisms so that $$0\to G(X_0)\to G(X_1)$$ should be exact, but why exactness around $G(X_1)$?
Should I just think about changing the map out of $X_2$ to $X_2\to 0$?
For an additive functor $G \colon \mathcal{A} \to \mathcal{B}$ the following two definitions of left-exactness are equivalent:
For every short exact sequence $0 \to A'' \to A \to A' \to 0$ in $\mathcal{A}$, the induced sequence $$ 0 \to G(A'') \to G(A) \to G(A') $$ in $\mathcal{B}$ is again exact.
For every exact sequence $0 \to A'' \to A \to A'$ in $\mathcal{A}$, the induced sequence $$ 0 \to G(A'') \to G(A) \to G(A') $$ in $\mathcal{B}$ is again exact.
A proof of the equivalence of the two definitions (namely the implication $1 \implies 2$) can be found here. Note that left-exactness is (in general) much stronger than just preserving monomorphisms (see here for an example of an additive functor which preserves monomorphisms but is not left-exact).
We can solve the problem by applying the second characterization of left-exactness: It follows from the exactness of $$ 0 \to X_0 \to X_1 \to X_2 \to X_3 \to \dotsb $$ that the truncated sequence $$ 0 \to X_0 \to X_1 \to X_2 $$ is exact, from which it then follows by the left-exactness of $G$ that the sequence $$ 0 \to G(X_0) \to G(X_1) \to G(X_2) $$ is exact.