Documentation

Mathlib.CategoryTheory.Abelian.Projective.Resolution

Abelian categories with enough projectives have projective resolutions #

Main results #

When the underlying category is abelian:

theorem CategoryTheory.ProjectiveResolution.exact₀ {C : Type u} [Category.{v, u} C] [Abelian C] {Z : C} (P : ProjectiveResolution Z) :
{ X₁ := P.complex.X 1, X₂ := P.complex.X 0, X₃ := ((ChainComplex.single₀ C).obj Z).X 0, f := P.complex.d 1 0, g := P.π.f 0, zero := }.Exact
noncomputable def CategoryTheory.ProjectiveResolution.liftFSucc {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} (P : ProjectiveResolution Y) (Q : ProjectiveResolution Z) (n : ) (g : P.complex.X n Q.complex.X n) (g' : P.complex.X (n + 1) Q.complex.X (n + 1)) (w : CategoryStruct.comp g' (Q.complex.d (n + 1) n) = CategoryStruct.comp (P.complex.d (n + 1) n) g) :
(g'' : P.complex.X (n + 2) Q.complex.X (n + 2)) ×' CategoryStruct.comp g'' (Q.complex.d (n + 2) (n + 1)) = CategoryStruct.comp (P.complex.d (n + 2) (n + 1)) g'

Auxiliary construction for lift.

Equations
noncomputable def CategoryTheory.ProjectiveResolution.lift {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} (f : Y Z) (P : ProjectiveResolution Y) (Q : ProjectiveResolution Z) :

A morphism in C lift to a chain map between projective resolutions.

Equations
  • One or more equations did not get rendered due to their size.
@[simp]

The resolution maps intertwine the lift of a morphism and that morphism.

An auxiliary definition for liftHomotopyZero.

Equations
  • One or more equations did not get rendered due to their size.
noncomputable def CategoryTheory.ProjectiveResolution.liftHomotopyZeroSucc {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} {P : ProjectiveResolution Y} {Q : ProjectiveResolution Z} (f : P.complex Q.complex) (n : ) (g : P.complex.X n Q.complex.X (n + 1)) (g' : P.complex.X (n + 1) Q.complex.X (n + 2)) (w : f.f (n + 1) = CategoryStruct.comp (P.complex.d (n + 1) n) g + CategoryStruct.comp g' (Q.complex.d (n + 2) (n + 1))) :
P.complex.X (n + 2) Q.complex.X (n + 3)

An auxiliary definition for liftHomotopyZero.

Equations
@[simp]
theorem CategoryTheory.ProjectiveResolution.liftHomotopyZeroSucc_comp {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} {P : ProjectiveResolution Y} {Q : ProjectiveResolution Z} (f : P.complex Q.complex) (n : ) (g : P.complex.X n Q.complex.X (n + 1)) (g' : P.complex.X (n + 1) Q.complex.X (n + 2)) (w : f.f (n + 1) = CategoryStruct.comp (P.complex.d (n + 1) n) g + CategoryStruct.comp g' (Q.complex.d (n + 2) (n + 1))) :
CategoryStruct.comp (liftHomotopyZeroSucc f n g g' w) (Q.complex.d (n + 3) (n + 2)) = f.f (n + 2) - CategoryStruct.comp (P.complex.d (n + 2) (n + 1)) g'
@[simp]
theorem CategoryTheory.ProjectiveResolution.liftHomotopyZeroSucc_comp_assoc {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} {P : ProjectiveResolution Y} {Q : ProjectiveResolution Z} (f : P.complex Q.complex) (n : ) (g : P.complex.X n Q.complex.X (n + 1)) (g' : P.complex.X (n + 1) Q.complex.X (n + 2)) (w : f.f (n + 1) = CategoryStruct.comp (P.complex.d (n + 1) n) g + CategoryStruct.comp g' (Q.complex.d (n + 2) (n + 1))) {Z✝ : C} (h : Q.complex.X (n + 2) Z✝) :
CategoryStruct.comp (liftHomotopyZeroSucc f n g g' w) (CategoryStruct.comp (Q.complex.d (n + 3) (n + 2)) h) = CategoryStruct.comp (f.f (n + 2) - CategoryStruct.comp (P.complex.d (n + 2) (n + 1)) g') h

Any lift of the zero morphism is homotopic to zero.

Equations
  • One or more equations did not get rendered due to their size.

The lift of the identity morphism is homotopic to the identity chain map.

Equations
  • One or more equations did not get rendered due to their size.
noncomputable def CategoryTheory.ProjectiveResolution.liftCompHomotopy {C : Type u} [Category.{v, u} C] [Abelian C] {X Y Z : C} (f : X Y) (g : Y Z) (P : ProjectiveResolution X) (Q : ProjectiveResolution Y) (R : ProjectiveResolution Z) :

The lift of a composition is homotopic to the composition of the lifts.

Equations
  • One or more equations did not get rendered due to their size.

Any two projective resolutions are homotopy equivalent.

Equations
  • One or more equations did not get rendered due to their size.
@[reducible, inline]

An arbitrarily chosen projective resolution of an object.

Equations

Taking projective resolutions is functorial, if considered with target the homotopy category (-indexed chain complexes and chain maps up to homotopy).

Equations
  • One or more equations did not get rendered due to their size.

If P : ProjectiveResolution X, then the chosen (projectiveResolutions C).obj X is isomorphic (in the homotopy category) to P.complex.

Equations
theorem CategoryTheory.exact_d_f {C : Type u} [Category.{v, u} C] [Abelian C] [EnoughProjectives C] {X Y : C} (f : X Y) :
{ X₁ := Projective.syzygies f, X₂ := X, X₃ := Y, f := Projective.d f, g := f, zero := }.Exact

Our goal is to define ProjectiveResolution.of Z : ProjectiveResolution Z. The 0-th object in this resolution will just be Projective.over Z, i.e. an arbitrarily chosen projective object with a map to Z. After that, we build the n+1-st object as Projective.syzygies applied to the previously constructed morphism, and the map from the n-th object as Projective.d.

Auxiliary definition for ProjectiveResolution.of.

Equations
  • One or more equations did not get rendered due to their size.
@[irreducible]

In any abelian category with enough projectives, ProjectiveResolution.of Z constructs an projective resolution of the object Z.

Equations
  • One or more equations did not get rendered due to their size.
theorem CategoryTheory.ProjectiveResolution.of_def {C : Type u_1} [Category.{u_2, u_1} C] [Abelian C] [EnoughProjectives C] (Z : C) :
of Z = { complex := ofComplex Z, projective := , hasHomology := , π := ((ofComplex Z).toSingle₀Equiv Z).symm Projective.π Z, , quasiIso := }