Definition (biproduct):

Let ${\displaystyle {\mathcal {C}}}$ be a category, and let ${\displaystyle (X_{\alpha })_{\alpha \in A}}$ be a family of objects in ${\displaystyle {\mathcal {C}}}$. A biproduct of ${\displaystyle (X_{\alpha })_{\alpha \in A}}$ is an object of ${\displaystyle {\mathcal {C}}}$ that is usually denoted as

${\displaystyle \bigoplus _{\alpha \in A}X_{\alpha }}$

and for which there exist arrows

${\displaystyle \iota _{\alpha }:X_{\alpha }\to \bigoplus _{\alpha \in A}X_{\alpha }}$ and ${\displaystyle \pi _{\alpha }:\bigoplus _{\alpha \in A}X_{\alpha }\to X_{\alpha }}$

for all ${\displaystyle \alpha \in A}$ that have the following properties:

1. ${\displaystyle \alpha \neq \beta \Rightarrow \pi _{\alpha }\circ \iota _{\beta }=0}$ and ${\displaystyle \forall \alpha \in A:\pi _{\alpha }\circ \iota _{\alpha }=\operatorname {Id} _{X_{\alpha }}}$
2. ${\displaystyle \bigoplus _{\alpha \in A}X_{\alpha }}$, together with the morphisms ${\displaystyle (\iota _{\alpha })_{\alpha \in A}}$, constitutes a coproduct in the category ${\displaystyle {\mathcal {C}}}$
3. ${\displaystyle \bigoplus _{\alpha \in A}X_{\alpha }}$, together with the morphisms ${\displaystyle (\pi _{\alpha })_{\alpha \in A}}$, constitutes a product in the category ${\displaystyle {\mathcal {C}}}$

An additive category is a category ${\displaystyle {\mathcal {C}}}$ that satisfies each of the following requirements:
1. Every morphism in ${\displaystyle {\mathcal {C}}}$ has a kernel and a cokernel
2. For every two objects ${\displaystyle X,Y}$ of ${\displaystyle {\mathcal {C}}}$, there exists a biproduct ${\displaystyle X\oplus Y}$
3. For every two objects ${\displaystyle X,Y}$ of ${\displaystyle {\mathcal {C}}}$, the assignment ${\displaystyle (f,g)\mapsto h}$, where ${\displaystyle h:X\to Y}$ is the morphism that arises from postcomposing the morphism ${\displaystyle X{\overset {\Delta }{\to }}X\oplus X{\overset {f\times g}{\to }}Y\oplus Y}$ (where ${\displaystyle \Delta }$ shall denote the diagonal) with the anti-diagonal ${\displaystyle \nabla :Y\oplus Y\to Y}$, turns ${\displaystyle \operatorname {Hom} (X,Y)}$ into an abelian group