# mathlibdocumentation

category_theory.abelian.images

# The abelian image and coimage. #

In an abelian category we usually want the image of a morphism f to be defined as kernel (cokernel.π f), and the coimage to be defined as cokernel (kernel.ι f).

We make these definitions here, as abelian.image f and abelian.coimage f (without assuming the category is actually abelian), and later relate these to the usual categorical notions when in an abelian category.

There is a canonical morphism coimage_image_comparison : abelian.coimage f ⟶ abelian.image f. Later we show that this is always an isomorphism in an abelian category, and conversely a category with (co)kernels and finite products in which this morphism is always an isomorphism is an abelian category.

@[protected, reducible]
noncomputable def category_theory.abelian.image {C : Type u} {P Q : C} (f : P Q) :
C

The kernel of the cokernel of f is called the (abelian) image of f.

@[protected, reducible]
noncomputable def category_theory.abelian.image.ι {C : Type u} {P Q : C} (f : P Q) :

The inclusion of the image into the codomain.

@[protected, reducible]
noncomputable def category_theory.abelian.factor_thru_image {C : Type u} {P Q : C} (f : P Q) :

There is a canonical epimorphism p : P ⟶ image f for every f.

@[protected, simp]
theorem category_theory.abelian.image.fac {C : Type u} {P Q : C} (f : P Q) :

f factors through its image via the canonical morphism p.

@[simp]
theorem category_theory.abelian.image.fac_assoc {C : Type u} {P Q : C} (f : P Q) {X' : C} (f' : Q X') :
@[protected, instance]
@[protected, reducible]
noncomputable def category_theory.abelian.coimage {C : Type u} {P Q : C} (f : P Q) :
C

The cokernel of the kernel of f is called the (abelian) coimage of f.

@[protected, reducible]
noncomputable def category_theory.abelian.coimage.π {C : Type u} {P Q : C} (f : P Q) :

The projection onto the coimage.

@[protected, reducible]
noncomputable def category_theory.abelian.factor_thru_coimage {C : Type u} {P Q : C} (f : P Q) :

There is a canonical monomorphism i : coimage f ⟶ Q.

@[protected]
theorem category_theory.abelian.coimage.fac {C : Type u} {P Q : C} (f : P Q) :

f factors through its coimage via the canonical morphism p.

@[protected, instance]
noncomputable def category_theory.abelian.coimage_image_comparison {C : Type u} {P Q : C} (f : P Q) :

The canonical map from the abelian coimage to the abelian image. In any abelian category this is an isomorphism.

Conversely, any additive category with kernels and cokernels and in which this is always an isomorphism, is abelian.

Equations
Instances for category_theory.abelian.coimage_image_comparison
noncomputable def category_theory.abelian.coimage_image_comparison' {C : Type u} {P Q : C} (f : P Q) :

An alternative formulation of the canonical map from the abelian coimage to the abelian image.

Equations
@[simp]
@[simp]
theorem category_theory.abelian.coimage_image_factorisation_assoc {C : Type u} {P Q : C} (f : P Q) {X' : C} (f' : Q X') :