Documentation

Mathlib.CategoryTheory.Abelian.DiagramLemmas.KernelCokernelComp

Long exact sequence for the kernel and cokernel of a composition #

If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms in an abelian category, we construct a long exact sequence : 0 ⟶ ker f ⟶ ker (f ≫ g) ⟶ ker g ⟶ coker f ⟶ coker (f ≫ g) ⟶ coker g ⟶ 0.

This is obtained by applying the snake lemma to the following morphism of exact sequences, where the rows are the obvious split exact sequences

0 ⟶ X ⟶ X ⊞ Y ⟶ Y ⟶ 0
    |f    |φ    |g
    v     v     v
0 ⟶ Y ⟶ Y ⊞ Z ⟶ Z ⟶ 0

and φ is given by the following matrix:

(f  -𝟙 Y)
(0     g)

Indeed the snake lemma gives an exact sequence involving the kernels and cokernels of the vertical maps: in order to get the expected long exact sequence, it suffices to obtain isomorphisms ker φ ≅ ker (f ≫ g) and coker φ ≅ coker (f ⋙ g).

noncomputable def CategoryTheory.kernelCokernelCompSequence.ι {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, this is the morphism kernel (f ≫ g) ⟶ X ⊞ Y which "sends x to (x, f(x))".

Equations
    Instances For
      noncomputable def CategoryTheory.kernelCokernelCompSequence.φ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
      X Y Y Z

      If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, this is the morphism X ⊞ Y ⟶ Y ⊞ Z given by the matrix

      (f  -𝟙 Y)
      (0     g)
      
      Equations
        Instances For
          noncomputable def CategoryTheory.kernelCokernelCompSequence.π {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

          If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, this is the morphism Y ⊞ Z ⟶ cokernel (f ≫ g) which "sends (y, z) to [g(y)] + [z]".

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.kernelCokernelCompSequence.ι_φ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
              CategoryStruct.comp (ι f g) (φ f g) = 0
              @[simp]
              theorem CategoryTheory.kernelCokernelCompSequence.ι_φ_assoc {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) {Z✝ : C} (h : Y Z Z✝) :
              @[simp]
              theorem CategoryTheory.kernelCokernelCompSequence.φ_π {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
              CategoryStruct.comp (φ f g) (π f g) = 0
              @[simp]
              instance CategoryTheory.kernelCokernelCompSequence.instMonoι {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
              Mono (ι f g)
              instance CategoryTheory.kernelCokernelCompSequence.instEpiπ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
              Epi (π f g)
              noncomputable def CategoryTheory.kernelCokernelCompSequence.isLimit {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

              If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, then the kernel of φ f g : X ⊞ Y ⟶ Y ⊞ Z identifies to kernel (f ≫ g).

              Equations
                Instances For
                  noncomputable def CategoryTheory.kernelCokernelCompSequence.isColimit {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

                  If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, then the cokernel of φ f g : X ⊞ Y ⟶ Y ⊞ Z identifies to cokernel (f ≫ g).

                  Equations
                    Instances For
                      noncomputable def CategoryTheory.kernelCokernelCompSequence.snakeInput {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

                      The "snake input" which gives the exact sequence 0 ⟶ ker f ⟶ ker (f ≫ g) ⟶ ker g ⟶ coker f ⟶ coker (f ≫ g) ⟶ coker g ⟶ 0, see kernelCokernelCompSequence_exact.

                      Equations
                        Instances For
                          @[simp]
                          theorem CategoryTheory.kernelCokernelCompSequence.snakeInput_L₂_X₂ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
                          (snakeInput f g).L₂.X₂ = (Y Z)
                          @[simp]
                          @[simp]
                          @[simp]
                          theorem CategoryTheory.kernelCokernelCompSequence.snakeInput_L₁_X₂ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :
                          (snakeInput f g).L₁.X₂ = (X Y)
                          @[simp]
                          @[simp]
                          noncomputable def CategoryTheory.kernelCokernelCompSequence.δ {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

                          If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms, this is the connecting homomorphism kernel g ⟶ cokernel f.

                          Equations
                            Instances For
                              @[reducible, inline]
                              noncomputable abbrev CategoryTheory.kernelCokernelCompSequence {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) :

                              If f : X ⟶ Y and g : Y ⟶ Z are composable morphisms in an abelian category, this is the long exact sequence 0 ⟶ ker f ⟶ ker (f ≫ g) ⟶ ker g ⟶ coker f ⟶ coker (f ≫ g) ⟶ coker g ⟶ 0.

                              Equations
                                Instances For