Documentation

Mathlib.CategoryTheory.Abelian.Projective.Resolution

Abelian categories with enough projectives have projective resolutions #

Main results #

When the underlying category is abelian:

Auxiliary construction for lift.

Equations
    Instances For
      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.liftFOne {C : Type u} [Category.{v, u} C] [Abelian C] {Y Z : C} (f : Y Z) (P : ProjectiveResolution Y) (Q : ProjectiveResolution Z) :

      Auxiliary construction for lift.

      Equations
        Instances For
          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
            Instances For
              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
                Instances For
                  @[simp]

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

                  An auxiliary definition for liftHomotopyZero.

                  Equations
                    Instances For

                      An auxiliary definition for liftHomotopyZero.

                      Equations
                        Instances For
                          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
                            Instances For
                              @[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
                                Instances For

                                  Two lifts of the same morphism are homotopic.

                                  Equations
                                    Instances For

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

                                      Equations
                                        Instances For
                                          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
                                            Instances For

                                              Any two projective resolutions are homotopy equivalent.

                                              Equations
                                                Instances For
                                                  @[reducible, inline]

                                                  An arbitrarily chosen projective resolution of an object.

                                                  Equations
                                                    Instances For

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

                                                      Equations
                                                        Instances For

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

                                                          Equations
                                                            Instances For
                                                              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
                                                                Instances For
                                                                  @[irreducible]

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

                                                                  Equations
                                                                    Instances For
                                                                      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 := }