Documentation

Mathlib.CategoryTheory.Abelian.Projective.Resolution

Abelian categories with enough projectives have projective resolutions #

Main results #

When the underlying category is abelian:

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
    • One or more equations did not get rendered due to their size.
    Instances For
      @[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.
      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
          • One or more equations did not get rendered due to their size.
          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
              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.
              Instances For

                Any two projective resolutions are homotopy equivalent.

                Equations
                • One or more equations did not get rendered due to their size.
                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
                    • 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
                      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
                          @[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.
                          Instances For