Documentation

DerivedAlgGeo.Algebra.Homology.HomotopyCategory.DGEnhancement.Seam

The seam: H⁰(C^dg A) and the homotopy category #

dg-enhancements-e4's theorem. The route is to identify this repository's cocycles and coboundaries with Mathlib's, so that the Hom-groups of H⁰(C^dg A) are CochainComplex.HomComplex.CohomologyClass _ _ 0, and then to use CohomologyClass.homAddEquiv, which Mathlib already proves.

This repository's degree-zero cocycles are Mathlib's.

This repository's degree-zero coboundaries are Mathlib's, transported along cocycles_eq. Mathlib's version is a subgroup of the cocycles and asks for a primitive in degree m with m + 1 = 0; this one is the range of δ (-1) 0. The two conditions are the same condition.

Crossing the instance boundary #

Cocycle K L 0 and ↥(cocycles K L) are the same subtype of the same group, but Cocycle is a def carrying instAddCommGroupCocycle while the subgroup carries the one AddSubgroup supplies. AddSubgroup is indexed by that instance, so the two subgroup terms do not share a type for rw, and an ext proof fails on an application type mismatch rather than on content.

Building the maps explicitly avoids the question: a hand-written AddMonoidHom typechecks by defeq, where instance matching would not.

This repository's degree-zero cocycles, as Mathlib's.

Equations
Instances For

    And back.

    Equations
    Instances For
      theorem CategoryTheory.Cdg.toCocycle_val {A : Type u} [Category.{v, u} A] [Preadditive A] (K L : Cdg A) (z : ↥(cocycles K L)) :
      ↑((K.toCocycle L) z) = ↑z
      theorem CategoryTheory.Cdg.ofCocycle_val {A : Type u} [Category.{v, u} A] [Preadditive A] (K L : Cdg A) (z : CochainComplex.HomComplex.Cocycle (of A K) (of A L) 0) :
      ↑((K.ofCocycle L) z) = ↑z
      theorem CategoryTheory.Cdg.ofCocycle_toCocycle {A : Type u} [Category.{v, u} A] [Preadditive A] (K L : Cdg A) (z : ↥(cocycles K L)) :
      (K.ofCocycle L) ((K.toCocycle L) z) = z

      The two subtypes are the same group; only their instance paths differ.

      Equations
      Instances For

        Lifting the identification to the quotients #

        The Hom-group of H⁰(C^dg A) is Mathlib's group of degree-zero cohomology classes. Both directions are QuotientAddGroup.map of the corresponding AddMonoidHom, and both round trips are rfl on representatives.

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

          The Hom-level seam #

          def CategoryTheory.Cdg.postcompAddEquiv {D : Type u_1} [Category.{u_2, u_1} D] [Preadditive D] {X Y Y' : D} (e : Y ≅ Y') :
          (X ⟶ Y) ≃+ (X ⟶ Y')

          Postcomposition with an isomorphism, as an isomorphism of Hom-groups. Built by hand because it is used once and the additivity is one simp.

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

            The Hom-level seam. A degree-zero cohomology class in C^dg A is a morphism of the homotopy category, and the correspondence is an isomorphism of abelian groups.

            Everything to the right of homEquivCohomologyClass is Mathlib's: the middle step is CohomologyClass.homAddEquiv, and the last undoes the ⟦0⟧ its statement carries.

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

              The functor H⁰(C^dg A) ⥤ K(A) #

              Composition of degree-zero cocycles names composition of morphisms. Both sides are z.v i i ≫ w.v i i in each degree.

              Two degree-zero cocycles differing by a coboundary name homotopic morphisms, so they agree in the homotopy category.

              theorem CategoryTheory.Cdg.homOf_dgComp {A : Type u} [Category.{v, u} A] [Preadditive A] {K L M : Cdg A} (z : ↥(cocycles K L)) (w : ↥(cocycles L M)) (hzw : ((DGCategoryStruct.dgComp 0 0 0 ⋯) ↑z) ↑w ∈ cocycles K M) :
              ((K.toCocycle M) ⟨((DGCategoryStruct.dgComp 0 0 0 ⋯) ↑z) ↑w, hzw⟩).homOf = CategoryStruct.comp ((K.toCocycle L) z).homOf ((L.toCocycle M) w).homOf

              homOf_comp, restated with dgComp in place of Cochain.comp. The two are the same by dgComp_eq, but the functor's goal is built from dgComp, and rw matches syntactically.

              The seam functor. H⁰(C^dg A) ⥤ K(A): the identity on objects, sending a cohomology class to the morphism its representative names.

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

                The seam functor is an equivalence #

                The seam. H⁰(C^dg A) ≌ K(A): the H⁰ of the dg category of cochain complexes is the homotopy category.

                Equations
                Instances For