Documentation

DerivedAlgGeo.Algebra.Homology.HomotopyCategory.DGEnhancement.Agreement

The transported triangulated structure is Mathlib's #

dg-enhancements-e7. H⁰(C^dg A) carries the pretriangulated structure H0Triangle.lean builds out of dg cones, and K(A) = HomotopyCategory A carries Mathlib's, built out of mapping cones. Cdg.seam identifies the two categories and Model/CommShift.lean identifies their shifts. This file proves that the two structures agree.

What "agree" means, and why it is a set equality #

Pretriangulated.distinguishedTriangles is a field of the class, so the two structures agree exactly when the two sets of triangles correspond. No notion of "isomorphism of triangulated structures" exists at the pin, and none is invented here: the theorem is

Cdg.seam_distinguishedTriangles_eq :
  {T | Cdg.seam.inverse.mapTriangle.obj T ∈ H0.distinguishedTriangles (Cdg A)}
    = HomotopyCategory.Pretriangulated.distinguishedTriangles A

an equality of two terms of Set (Triangle (HomotopyCategory A (ComplexShape.up ℤ))). Cdg.distinguishedTriangles_eq is the same statement read on H⁰, and Cdg.mem_distTriang_iff is the pointwise form both come from.

Transporting a triangle needs the shift comparison, which is why Functor.mapTriangle -- and hence this file -- rests on Cdg.h0FunctorCommShift. Nothing here assumes the comparison; it is the CommShift instance built in HomotopyCategory/CommShift.lean.

The sign #

The dg connecting morphism IsConeOf.toShift is fst followed by the shift with no sign; Mathlib's CochainComplex.mappingCone.triangle uses -mappingCone.fst. Cdg.triangle_mor₃_eq records that discrepancy, and H0.coneTriangle carries the sign that removes it. Without it the two structures would genuinely differ: diagonal isomorphisms of triangles realise exactly the sign patterns whose product over the three vertices is +1, and negating the third map alone is not one of them, so the disagreement could not be absorbed by an isomorphism.

The octahedral half #

The pin supplies IsTriangulated (HomotopyCategory A (ComplexShape.up ℤ)) (Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean), so the octahedral axiom transfers back along the fully faithful triangulated seam: IsTriangulated (H0 (Cdg A)) is an instance below. It is stated only for this model. For a general pretriangulated dg category C this file proves nothing about IsTriangulated (H0 C), and nothing at the pin does either -- the octahedron there would have to be built from the dg cone directly, which is not dg-enhancements-e7's scope.

backward.isDefEq.respectTransparency #

H0 C is a type synonym for C, so goals about H0 (Cdg A) are routinely ill-typed at instances transparency and rewriting stalls. Mathlib's own set_option backward.isDefEq.respectTransparency false is the sanctioned way through, and it is used here for exactly the declarations that need it.

The dg cone's degree-one projection is Mathlib's mappingCone.fst.

The dg connecting morphism, at the model shift, is Mathlib's fst right-shifted.

The sign. Mathlib's standard triangle uses -mappingCone.fst; the dg toShift is +fst. This is why H0.coneTriangle carries a sign.

The image of a model cone triangle is Mathlib's standard triangle.

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

    The same statements, read on the seam #

    @[implicit_reducible]
    Equations

    C^dg A is an exact enhancement of the homotopy category, not merely an H⁰ presentation of it.

    Enhancement.Exact is supplied data everywhere else in the library; this is the one place it is discharged, and both fields come from theorems rather than from a hypothesis. commShift is Cdg.h0FunctorCommShift, built in HomotopyCategory/CommShift.lean from the seam's shift comparison; isTriangulated is Cdg.h0FunctorIsTriangulated above, which is the agreement theorem seam_distinguishedTriangles_eq in functor form.

    Neither this nor anything downstream says that an exact enhancement of HomotopyCategory A is unique. dg-enhancements-e15 remains open, and the statement it will need quantifies over this structure rather than over Enhancement.

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