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 cyclesMap' f i and boundariesMap f i.

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

Note: Some definitions (specifically, names containing components homology, cycles) in this file have the suffix ' so as to allow the development of the new homology API of homological complex (starting from Algebra.Homology.ShortComplex.HomologicalComplex). It is planned that these definitions shall be removed and replaced by the new API.

def HomologicalComplex.cycles'IsoKernel {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} (C : HomologicalComplex V c) [CategoryTheory.Limits.HasKernels V] {i : ι} {j : ι} (r : c.Rel i j) :
CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.cycles' C i) CategoryTheory.Limits.kernel (C.d i j)

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

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

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[inline, reducible]
      abbrev HomologicalComplex.boundariesToCycles' {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Limits.HasZeroMorphisms V] {c : ComplexShape ι} [CategoryTheory.Limits.HasKernels V] [CategoryTheory.Limits.HasImages V] (C : HomologicalComplex V c) (i : ι) :
      CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.boundaries C i) CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.cycles' C i)

      The canonical map from boundaries i to cycles' i.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[inline, reducible]

        The homology of a complex at index i.

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

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The 0th homology of a chain complex is isomorphic to the cokernel of d : C₁ ⟶ C₀.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The 0th cohomology of a cochain complex is isomorphic to the kernel of d : C₀ → C₁.

              Equations
              • One or more equations did not get rendered due to their size.
              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ₙ₊₁.

                Equations
                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ₙ₊₁.

                  Equations
                  Instances For

                    Computing the cycles is functorial.

                    @[inline, reducible]
                    abbrev cycles'Map {ι : 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.toPrefunctor.obj (HomologicalComplex.cycles' C₁ i) CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.cycles' C₂ i)

                    The morphism between cycles induced by a chain map.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem cycles'Functor_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) :
                      (cycles'Functor V c i).toPrefunctor.obj C = CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.cycles' C i)
                      @[simp]
                      theorem cycles'Functor_map {ι : 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} {C₂ : HomologicalComplex V c} (f : C₁ C₂) :
                      (cycles'Functor V c i).toPrefunctor.map f = cycles'Map f i

                      Cycles as a functor.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        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.toPrefunctor.obj (HomologicalComplex.boundaries C₁ i) CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.boundaries C₂ i)

                        The morphism between boundaries induced by a chain map.

                        Equations
                        Instances For
                          @[simp]
                          theorem boundariesFunctor_obj {ι : 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] (i : ι) (C : HomologicalComplex V c) :
                          (boundariesFunctor V c i).toPrefunctor.obj C = CategoryTheory.Subobject.underlying.toPrefunctor.obj (HomologicalComplex.boundaries C i)

                          Boundaries as a functor.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            The boundariesToCycles morphisms are natural.

                            The i-th homology, as a functor to V.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              The homology functor from ι-indexed complexes to ι-graded objects in V.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For