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
- K.ofCocycle L = { toFun := fun (z : CochainComplex.HomComplex.Cocycle (CategoryTheory.Cdg.of A K) (CategoryTheory.Cdg.of A L) 0) => ⟨↑z, ⋯⟩, map_zero' := ⋯, map_add' := ⋯ }
Instances For
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 #
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.
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.