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
  • One or more equations did not get rendered due to their size.
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
    • One or more equations did not get rendered due to their size.
    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
      • One or more equations did not get rendered due to their size.
      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
        • One or more equations did not get rendered due to their size.
        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
          • One or more equations did not get rendered due to their size.
          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
            • One or more equations did not get rendered due to their size.
            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
                • One or more equations did not get rendered due to their size.
                Instances For