File: Mathlib/Algebra/Homology/ShortComplex/Abelian.lean

full_name: CategoryTheory.ShortComplex.abelianImageToKernel
code: /-- The canonical morphism `Abelian.image S.f ⟶ kernel S.g` for a short complex `S`
in an abelian category. -/
noncomputable def abelianImageToKernel : Abelian.image S.f ⟶ kernel S.g 
goal: CategoryTheory.Abelian.image S.f ⟶ CategoryTheory.Limits.kernel S.g

full_name: CategoryTheory.ShortComplex.abelianImageToKernel_comp_kernel_ι
code: @[reassoc (attr := simp)]
lemma abelianImageToKernel_comp_kernel_ι :
    S.abelianImageToKernel ≫ kernel.ι S.g = Abelian.image.ι S.f 
goal: CategoryTheory.CategoryStruct.comp S.abelianImageToKernel (CategoryTheory.Limits.kernel.ι S.g) =
  CategoryTheory.Abelian.image.ι S.f

full_name: CategoryTheory.ShortComplex.instMonoAbelianImageToKernel
code: instance : Mono S.abelianImageToKernel 
goal: CategoryTheory.Mono S.abelianImageToKernel

full_name: CategoryTheory.ShortComplex.abelianImageToKernel_comp_kernel_ι_comp_cokernel_π
code: @[reassoc (attr := simp 1100)]
lemma abelianImageToKernel_comp_kernel_ι_comp_cokernel_π :
    S.abelianImageToKernel ≫ kernel.ι S.g ≫ cokernel.π S.f = 0 
goal: CategoryTheory.CategoryStruct.comp S.abelianImageToKernel
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f)) =
  0

full_name: CategoryTheory.ShortComplex.abelianImageToKernelIsKernel
code: /-- `Abelian.image S.f` is the kernel of `kernel.ι S.g ≫ cokernel.π S.f` -/
noncomputable def abelianImageToKernelIsKernel :
    IsLimit (KernelFork.ofι S.abelianImageToKernel
      S.abelianImageToKernel_comp_kernel_ι_comp_cokernel_π) 
goal: CategoryTheory.Limits.IsLimit (CategoryTheory.Limits.KernelFork.ofι S.abelianImageToKernel ⋯)

full_name: CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian
code: /-- The canonical `LeftHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.coimage (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.LeftHomologyData 
goal: S.LeftHomologyData

full_name: CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian_π
code: /-- The canonical `LeftHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.coimage (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.LeftHomologyData 
goal: (CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian S).π =
  CategoryTheory.Limits.cokernel.π
    (CategoryTheory.Limits.kernel.ι
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f)))

full_name: CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian_i
code: /-- The canonical `LeftHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.coimage (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.LeftHomologyData 
goal: (CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian S).i = CategoryTheory.Limits.kernel.ι S.g

full_name: CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian_H
code: /-- The canonical `LeftHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.coimage (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.LeftHomologyData 
goal: (CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian S).H =
  CategoryTheory.Abelian.coimage
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f))

full_name: CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian_K
code: /-- The canonical `LeftHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.coimage (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.LeftHomologyData 
goal: (CategoryTheory.ShortComplex.LeftHomologyData.ofAbelian S).K = CategoryTheory.Limits.kernel S.g

full_name: CategoryTheory.ShortComplex.cokernelToAbelianCoimage
code: /-- The canonical morphism `cokernel S.f ⟶ Abelian.coimage S.g` for a short complex `S`
in an abelian category. -/
noncomputable def cokernelToAbelianCoimage : cokernel S.f ⟶ Abelian.coimage S.g 
goal: CategoryTheory.Limits.cokernel S.f ⟶ CategoryTheory.Abelian.coimage S.g

full_name: CategoryTheory.ShortComplex.cokernel_π_comp_cokernelToAbelianCoimage
code: @[reassoc (attr := simp)]
lemma cokernel_π_comp_cokernelToAbelianCoimage :
    cokernel.π S.f ≫ S.cokernelToAbelianCoimage = Abelian.coimage.π S.g 
goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.cokernel.π S.f) S.cokernelToAbelianCoimage =
  CategoryTheory.Abelian.coimage.π S.g

full_name: CategoryTheory.ShortComplex.instEpiCokernelToAbelianCoimage
code: instance : Epi S.cokernelToAbelianCoimage 
goal: CategoryTheory.Epi S.cokernelToAbelianCoimage

full_name: CategoryTheory.ShortComplex.kernel_ι_comp_cokernel_π_comp_cokernelToAbelianCoimage
code: lemma kernel_ι_comp_cokernel_π_comp_cokernelToAbelianCoimage :
    (kernel.ι S.g ≫ cokernel.π S.f) ≫ S.cokernelToAbelianCoimage = 0 
goal: CategoryTheory.CategoryStruct.comp
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f))
    S.cokernelToAbelianCoimage =
  0

full_name: CategoryTheory.ShortComplex.cokernelToAbelianCoimageIsCokernel
code: /-- `Abelian.coimage S.g` is the cokernel of `kernel.ι S.g ≫ cokernel.π S.f` -/
noncomputable def cokernelToAbelianCoimageIsCokernel :
    IsColimit (CokernelCofork.ofπ S.cokernelToAbelianCoimage
      S.kernel_ι_comp_cokernel_π_comp_cokernelToAbelianCoimage) 
goal: CategoryTheory.Limits.IsColimit (CategoryTheory.Limits.CokernelCofork.ofπ S.cokernelToAbelianCoimage ⋯)

full_name: CategoryTheory.ShortComplex.RightHomologyData.ofAbelian_p
code: /-- The canonical `RightHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.image (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.RightHomologyData 
goal: (CategoryTheory.ShortComplex.RightHomologyData.ofAbelian S).p = CategoryTheory.Limits.cokernel.π S.f

full_name: CategoryTheory.ShortComplex.RightHomologyData.ofAbelian_H
code: /-- The canonical `RightHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.image (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.RightHomologyData 
goal: (CategoryTheory.ShortComplex.RightHomologyData.ofAbelian S).H =
  CategoryTheory.Abelian.image
    (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f))

full_name: CategoryTheory.ShortComplex.RightHomologyData.ofAbelian_ι
code: /-- The canonical `RightHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.image (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.RightHomologyData 
goal: (CategoryTheory.ShortComplex.RightHomologyData.ofAbelian S).ι =
  CategoryTheory.Limits.kernel.ι
    (CategoryTheory.Limits.cokernel.π
      (CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.kernel.ι S.g) (CategoryTheory.Limits.cokernel.π S.f)))

full_name: CategoryTheory.ShortComplex.RightHomologyData.ofAbelian_Q
code: /-- The canonical `RightHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.image (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.RightHomologyData 
goal: (CategoryTheory.ShortComplex.RightHomologyData.ofAbelian S).Q = CategoryTheory.Limits.cokernel S.f

full_name: CategoryTheory.ShortComplex.RightHomologyData.ofAbelian
code: /-- The canonical `RightHomologyData` of a short complex `S` in an abelian category, for
which the `H` field is `Abelian.image (kernel.ι S.g ≫ cokernel.π S.f)`. -/
@[simps]
noncomputable def ofAbelian : S.RightHomologyData 
goal: S.RightHomologyData

full_name: CategoryTheory.ShortComplex.HomologyData.ofAbelian
code: /-- The canonical `HomologyData` of a short complex `S` in an abelian category. -/
noncomputable def HomologyData.ofAbelian : S.HomologyData 
goal: S.HomologyData

full_name: CategoryTheory.categoryWithHomology_of_abelian
code: instance _root_.CategoryTheory.categoryWithHomology_of_abelian :
    CategoryWithHomology C 
goal: CategoryTheory.CategoryWithHomology C