Abelian categories with enough projectives have projective resolutions #
Main results #
When the underlying category is abelian:
CategoryTheory.ProjectiveResolution.lift
: GivenP : ProjectiveResolution X
andQ : ProjectiveResolution Y
, any morphismX ⟶ Y
admits a lifting to a chain mapP.complex ⟶ Q.complex
. It is a lifting in the sense thatP.ι
intertwines the lift and the original morphism, seeCategoryTheory.ProjectiveResolution.lift_commutes
.CategoryTheory.ProjectiveResolution.liftHomotopy
: Any two such descents are homotopic.CategoryTheory.ProjectiveResolution.homotopyEquiv
: Any two projective resolutions of the same object are homotopy equivalent.CategoryTheory.projectiveResolutions
: If every object admits a projective resolution, we can construct a functorprojectiveResolutions C : C ⥤ HomotopyCategory C (ComplexShape.down ℕ)
.CategoryTheory.exact_d_f
:Projective.d f
andf
are exact.CategoryTheory.ProjectiveResolution.of
: Hence, starting from an epimorphismP ⟶ X
, whereP
is projective, we can applyProjective.d
repeatedly to obtain a projective resolution ofX
.
Auxiliary construction for lift
.
Equations
- CategoryTheory.ProjectiveResolution.liftFZero f P Q = CategoryTheory.Projective.factorThru (CategoryTheory.CategoryStruct.comp (P.π.f 0) f) (Q.π.f 0)
Instances For
Auxiliary construction for lift
.
Equations
- CategoryTheory.ProjectiveResolution.liftFOne f P Q = ⋯.liftFromProjective (CategoryTheory.CategoryStruct.comp (P.complex.d 1 0) (CategoryTheory.ProjectiveResolution.liftFZero f P Q)) ⋯
Instances For
Auxiliary construction for lift
.
Equations
- P.liftFSucc Q n g g' w = ⟨⋯.liftFromProjective (CategoryTheory.CategoryStruct.comp (P.complex.d (n + 2) (n + 1)) g') ⋯, ⋯⟩
Instances For
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.
Instances For
The resolution maps intertwine the lift of a morphism and that morphism.
An auxiliary definition for liftHomotopyZero
.
Equations
- CategoryTheory.ProjectiveResolution.liftHomotopyZeroZero f comm = ⋯.liftFromProjective (f.f 0) ⋯
Instances For
An auxiliary definition for liftHomotopyZero
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An auxiliary definition for liftHomotopyZero
.
Equations
- CategoryTheory.ProjectiveResolution.liftHomotopyZeroSucc f n g g' w = ⋯.liftFromProjective (f.f (n + 2) - CategoryTheory.CategoryStruct.comp (P.complex.d (n + 2) (n + 1)) g') ⋯
Instances For
Any lift of the zero morphism is homotopic to zero.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Two lifts of the same morphism are homotopic.
Equations
- CategoryTheory.ProjectiveResolution.liftHomotopy f g h g_comm h_comm = Homotopy.equivSubZero.invFun (CategoryTheory.ProjectiveResolution.liftHomotopyZero (g - h) ⋯)
Instances For
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.
Instances For
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.
Instances For
Any two projective resolutions are homotopy equivalent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An arbitrarily chosen projective resolution of an object.
Equations
- CategoryTheory.projectiveResolution Z = ⋯.some
Instances For
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.
Instances For
If P : ProjectiveResolution X
, then the chosen (projectiveResolutions C).obj X
is isomorphic (in the homotopy category) to P.complex
.
Equations
- P.iso = HomotopyCategory.isoOfHomotopyEquiv ((CategoryTheory.projectiveResolution X).homotopyEquiv P)
Instances For
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.
Instances For
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.