Abelian category/Definition

A category in which morphisms and objects can be added and in which kernels and cokernels exist and have desirable properties.