Documentation

Mathlib.Algebra.Homology.Exact

Exact sequences #

In a category with zero morphisms, images, and equalizers we say that f : A ⟶ B and g : B ⟶ C are exact if f ≫ g = 0 and the natural map image f ⟶ kernel g is an epimorphism.

In any preadditive category this is equivalent to the homology at B vanishing.

However in general it is weaker than other reasonable definitions of exactness, particularly that

  1. the inclusion map image.ι f is a kernel of g or
  2. image f ⟶ kernel g is an isomorphism or
  3. imageSubobject f = kernelSubobject f. However when the category is abelian, these all become equivalent; these results are found in CategoryTheory/Abelian/Exact.lean.

Main results #

Future work #

Note: It is planned that the definition in this file will be replaced by the new homology API, in particular by the content of Algebra.Homology.ShortComplex.Exact.

Two morphisms f : A ⟶ B, g : B ⟶ C are called exact if w : f ≫ g = 0 and the natural map imageToKernel f g w : imageSubobject f ⟶ kernelSubobject g is an epimorphism.

In any preadditive category, this is equivalent to w : f ≫ g = 0 and homology f g w ≅ 0.

In an abelian category, this is equivalent to imageToKernel f g w being an isomorphism, and hence equivalent to the usual definition, imageSubobject f = kernelSubobject g.

Instances For

    In any preadditive category, composable morphisms f g are exact iff they compose to zero and the homology vanishes.

    theorem CategoryTheory.Preadditive.exact_of_iso_of_exact {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasImages V] [CategoryTheory.Limits.HasZeroObject V] [CategoryTheory.Preadditive V] [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasCokernels V] {A₁ : V} {B₁ : V} {C₁ : V} {A₂ : V} {B₂ : V} {C₂ : V} (f₁ : A₁ B₁) (g₁ : B₁ C₁) (f₂ : A₂ B₂) (g₂ : B₂ C₂) (α : CategoryTheory.Arrow.mk f₁ CategoryTheory.Arrow.mk f₂) (β : CategoryTheory.Arrow.mk g₁ CategoryTheory.Arrow.mk g₂) (p : α.hom.right = β.hom.left) (h : CategoryTheory.Exact f₁ g₁) :
    theorem CategoryTheory.Preadditive.exact_of_iso_of_exact' {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasImages V] [CategoryTheory.Limits.HasZeroObject V] [CategoryTheory.Preadditive V] [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasCokernels V] {A₁ : V} {B₁ : V} {C₁ : V} {A₂ : V} {B₂ : V} {C₂ : V} (f₁ : A₁ B₁) (g₁ : B₁ C₁) (f₂ : A₂ B₂) (g₂ : B₂ C₂) (α : A₁ A₂) (β : B₁ B₂) (γ : C₁ C₂) (hsq₁ : CategoryTheory.CategoryStruct.comp α.hom f₂ = CategoryTheory.CategoryStruct.comp f₁ β.hom) (hsq₂ : CategoryTheory.CategoryStruct.comp β.hom g₂ = CategoryTheory.CategoryStruct.comp g₁ γ.hom) (h : CategoryTheory.Exact f₁ g₁) :

    A reformulation of Preadditive.exact_of_iso_of_exact that does not involve the arrow category.

    theorem CategoryTheory.Preadditive.exact_iff_exact_of_iso {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasImages V] [CategoryTheory.Limits.HasZeroObject V] [CategoryTheory.Preadditive V] [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasCokernels V] {A₁ : V} {B₁ : V} {C₁ : V} {A₂ : V} {B₂ : V} {C₂ : V} (f₁ : A₁ B₁) (g₁ : B₁ C₁) (f₂ : A₂ B₂) (g₂ : B₂ C₂) (α : CategoryTheory.Arrow.mk f₁ CategoryTheory.Arrow.mk f₂) (β : CategoryTheory.Arrow.mk g₁ CategoryTheory.Arrow.mk g₂) (p : α.hom.right = β.hom.left) :

    The dual of this lemma is only true when V is abelian, see Abelian.exact_epi_comp_iff.

    A functor reflects exact sequences if any composable pair of morphisms that is mapped to an exact pair is itself exact.

    Instances