Documentation

DerivedAlgGeo.Algebra.Homology.DGCategory.Pretriangulated.H0.Functor

Transporting dg-functor capabilities to H⁰ #

DGFunctor.PreservesShifts and DGFunctor.PreservesChosenCones are dg-level capabilities, owned by Algebra/Homology/DGCategory/Pretriangulated/Functor.lean. Every dg functor has both capabilities. This file spends them on the ordinary functor H⁰(F): h0CommShift packages the chosen shift witnesses into a CommShift, and h0IsTriangulated proves that every dg functor between pretriangulated dg categories induces a triangulated functor.

H0/Triangle.lean owns the distinguished triangles of H⁰ and the pretriangulated instance; everything here consumes them, which is why the dependency runs this way rather than the other. Both files sit under the H0 umbrella, so no consumer has to know which of the two a name comes from.

The backward.isDefEq.respectTransparency options are load-bearing #

Five declarations below carry set_option backward.isDefEq.respectTransparency false. They were tried without it: commShift fails with a type mismatch whose two sides print identically, and preservesConeTriangles_of_preservesChosenCones fails to find 𝟙 under Functor.map. Both are the shift and cone witnesses being compared at instances transparency, which does not unfold H0, IsPretriangulated.shiftObj or the chosen witnesses. Removing them needs those comparisons restated through explicit show steps, not a tactic swap.

The two uses in Triangulated/FullSubcategory.lean are the same story. Note that until this file was given its own umbrella entry nothing imported it, so a green build was not evidence that these proofs still worked.

Why the cone-generator property is the right hypothesis #

H⁰'s distinguished triangles are by definition those isomorphic to a dg cone triangle, so a functor is triangulated as soon as it sends cone triangles to distinguished triangles. PreservesConeTriangles is that condition and nothing more; preservesConeTriangles_of_preservesChosenCones derives it from the strong dg-level capability, and the two isTriangulated_of_… results close the loop.

noncomputable def CategoryTheory.DGFunctor.shiftCommIso {C : Type u} {D : Type u'} [DGCategory C] [DGCategory D] (F : DGFunctor C D) (hF : F.PreservesShifts) (n : ℤ) [IsPretriangulated C] [IsPretriangulated D] :

The shift comparison induced on H⁰ by dg-level shift preservation.

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

    The dg-level shift-preservation data supplies the coherent shift structure required by the ordinary functor H⁰(F).

    Equations
    Instances For
      @[reducible]

      The canonical coherent shift package on H⁰(F) for an arbitrary dg functor between pretriangulated dg categories.

      This is an explicit definition rather than a global instance so that callers can control which comparison is used when several naturally isomorphic functor presentations are in scope.

      Equations
      Instances For

        Preservation data for the cone generators of H⁰.

        This is the reusable exactness seam for a dg functor: it asks that the image of each chosen dg cone triangle be isomorphic to a cone triangle in the target. The record itself is only the weak generator condition; the theorem below constructs it for every dg functor from the strong split-cone witness. It does not duplicate Functor.IsTriangulated as a field.

        Instances For

          Strong dg-level preservation of chosen shifts and cones implies the weak cone-generator preservation property needed for exactness on H⁰.

          The target cone is the image object itself. The comparison triangle has identity components: compatibility of the first two arrows is forced by the stored image inclusions, while compatibility of the connecting arrow is derived from uniqueness of cone projections and the canonical shift comparison.

          A dg functor with cone-generator preservation induces a triangulated functor on H⁰. The proof is the generator argument built into the definition of H⁰.distinguishedTriangles, followed by closure under triangle isomorphism.

          A shift-preserving dg functor needs only cone-generator preservation in addition to its canonical shift structure to induce a triangulated functor on H⁰. The explicit instance argument keeps callers from having to reproduce the commShift construction at every use site.

          The strong composable dg capabilities are sufficient to make H⁰(F) a triangulated functor. The weak cone-generator proposition is derived internally and does not have to be supplied by callers.

          Every dg functor between pretriangulated dg categories induces a triangulated functor on H⁰.

          The shift and cone packages are selected explicitly rather than installed as global instances.