# Documentation

Mathlib.CategoryTheory.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 coimageImageComparison : 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.

@[inline, reducible]
abbrev CategoryTheory.Abelian.image {C : Type u} {P : C} {Q : C} (f : P Q) :
C

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

Instances For
@[inline, reducible]
abbrev CategoryTheory.Abelian.image.ι {C : Type u} {P : C} {Q : C} (f : P Q) :

The inclusion of the image into the codomain.

Instances For
@[inline, reducible]
abbrev CategoryTheory.Abelian.factorThruImage {C : Type u} {P : C} {Q : C} (f : P Q) :

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

Instances For
theorem CategoryTheory.Abelian.image.fac {C : Type u} {P : C} {Q : C} (f : P Q) :

f factors through its image via the canonical morphism p.

instance CategoryTheory.Abelian.mono_factorThruImage {C : Type u} {P : C} {Q : C} (f : P Q) :
@[inline, reducible]
abbrev CategoryTheory.Abelian.coimage {C : Type u} {P : C} {Q : C} (f : P Q) :
C

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

Instances For
@[inline, reducible]
abbrev CategoryTheory.Abelian.coimage.π {C : Type u} {P : C} {Q : C} (f : P Q) :

The projection onto the coimage.

Instances For
@[inline, reducible]
abbrev CategoryTheory.Abelian.factorThruCoimage {C : Type u} {P : C} {Q : C} (f : P Q) :

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

Instances For
theorem CategoryTheory.Abelian.coimage.fac {C : Type u} {P : C} {Q : C} (f : P Q) :

f factors through its coimage via the canonical morphism p.

instance CategoryTheory.Abelian.epi_factorThruCoimage {C : Type u} {P : C} {Q : C} (f : P Q) :
def CategoryTheory.Abelian.coimageImageComparison {C : Type u} {P : C} {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.

Instances For
def CategoryTheory.Abelian.coimageImageComparison' {C : Type u} {P : C} {Q : C} (f : P Q) :

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

Instances For
@[simp]
theorem CategoryTheory.Abelian.coimage_image_factorisation_assoc {C : Type u} {P : C} {Q : C} (f : P Q) {Z : C} (h : Q Z) :
@[simp]
theorem CategoryTheory.Abelian.coimage_image_factorisation {C : Type u} {P : C} {Q : C} (f : P Q) :