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.

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.

    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.

      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 lifts to a chain map between projective resolutions.

        Instances For
          @[simp]

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

          @[simp]

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

          An auxiliary definition for liftHomotopyZero.

          Instances For

            An auxiliary definition for liftHomotopyZero.

            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.

              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.

                Instances For

                  Two lifts of the same morphism are homotopic.

                  Instances For

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

                    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.

                      Instances For

                        Any two projective resolutions are homotopy equivalent.

                        Instances For
                          @[reducible, inline]

                          An arbitrarily chosen projective resolution of an object.

                          Instances For

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

                            Instances For

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

                              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.

                                Instances For
                                  @[irreducible]

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

                                  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 := }