Documentation

Mathlib.Algebra.Homology.Homology

The homology of a complex #

Given C : HomologicalComplex V c, we have C.cycles i and C.boundaries i, both defined as subobjects of C.X i.

We show these are functorial with respect to chain maps, as C.cyclesMap f i and C.boundariesMap f i.

As a consequence we construct homologyFunctor i : HomologicalComplex V c ⥤ V, computing the i-th homology.

@[inline, reducible]

The cycles at index i, as a subobject.

Instances For

    The underlying object of C.cycles i is isomorphic to kernel (C.d i j), for any j such that Rel i j.

    Instances For
      @[inline, reducible]

      The boundaries at index i, as a subobject.

      Instances For

        The underlying object of C.boundaries j is isomorphic to image (C.d i j), for any i such that Rel i j.

        Instances For
          @[inline, reducible]

          The canonical map from boundaries i to cycles i.

          Instances For

            The jth homology of a homological complex (as kernel of 'the differential from Cⱼ' modulo the image of 'the differential to Cⱼ') is isomorphic to the kernel of d : Cⱼ → Cₖ modulo the image of d : Cᵢ → Cⱼ when Rel i j and Rel j k.

            Instances For

              The n + 1th homology of a chain complex (as kernel of 'the differential from Cₙ₊₁' modulo the image of 'the differential to Cₙ₊₁') is isomorphic to the kernel of d : Cₙ₊₁ → Cₙ modulo the image of d : Cₙ₊₂ → Cₙ₊₁.

              Instances For

                The n + 1th cohomology of a cochain complex (as kernel of 'the differential from Cₙ₊₁' modulo the image of 'the differential to Cₙ₊₁') is isomorphic to the kernel of d : Cₙ₊₁ → Cₙ₊₂ modulo the image of d : Cₙ → Cₙ₊₁.

                Instances For

                  Computing the cycles is functorial.

                  @[inline, reducible]
                  abbrev cyclesMap {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} [CategoryTheory.Limits.HasKernels V] {C₁ : HomologicalComplex V c} {C₂ : HomologicalComplex V c} (f : C₁ C₂) (i : ι) :
                  CategoryTheory.Subobject.underlying.obj (HomologicalComplex.cycles C₁ i) CategoryTheory.Subobject.underlying.obj (HomologicalComplex.cycles C₂ i)

                  The morphism between cycles induced by a chain map.

                  Instances For
                    @[simp]
                    theorem cyclesFunctor_obj {ι : Type u_1} (V : Type u) [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] (c : ComplexShape ι) [CategoryTheory.Limits.HasKernels V] (i : ι) (C : HomologicalComplex V c) :
                    (cyclesFunctor V c i).obj C = CategoryTheory.Subobject.underlying.obj (HomologicalComplex.cycles C i)
                    @[simp]

                    Computing the boundaries is functorial.

                    @[inline, reducible]
                    abbrev boundariesMap {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} [CategoryTheory.Limits.HasImages V] [CategoryTheory.Limits.HasImageMaps V] {C₁ : HomologicalComplex V c} {C₂ : HomologicalComplex V c} (f : C₁ C₂) (i : ι) :
                    CategoryTheory.Subobject.underlying.obj (HomologicalComplex.boundaries C₁ i) CategoryTheory.Subobject.underlying.obj (HomologicalComplex.boundaries C₂ i)

                    The morphism between boundaries induced by a chain map.

                    Instances For

                      The boundariesToCycles morphisms are natural.

                      The natural transformation from the boundaries functor to the cycles functor.

                      Instances For
                        @[simp]
                        theorem gradedHomologyFunctor_map {ι : Type u_1} (V : Type u) [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] (c : ComplexShape ι) [CategoryTheory.Limits.HasEqualizers V] [CategoryTheory.Limits.HasImages V] [CategoryTheory.Limits.HasImageMaps V] [CategoryTheory.Limits.HasCokernels V] {C : HomologicalComplex V c} {C' : HomologicalComplex V c} (f : C C') (i : ι) :
                        (HomologicalComplex V c).map CategoryTheory.CategoryStruct.toQuiver (CategoryTheory.GradedObject ι V) CategoryTheory.CategoryStruct.toQuiver (gradedHomologyFunctor V c).toPrefunctor C C' f i = (homologyFunctor V c i).map f