Documentation

DerivedAlgGeo.CategoryTheory.Triangulated.TStructure.Shift

Truncation functors commute with the shift #

For a t-structure t on a pretriangulated category and a n : ℤ,

((t.truncLT (a + n)).obj X)⟦n⟧ ≅ (t.truncLT a).obj (X⟦n⟧)
((t.truncGE (a + n)).obj X)⟦n⟧ ≅ (t.truncGE a).obj (X⟦n⟧)

Why this is not in Mathlib #

Mathlib's truncation API (TruncLTGE.lean, TruncLEGT.lean) has no shift lemmas at all, at either of the revisions this project pins — v4.29.0 (8a178386) and v4.32.1 (520045ab). The functors, their natural transformations, the truncation triangle and its uniqueness are all present; the interaction with shiftFunctor is simply absent. This file is Mathlib-shaped and is written to be upstreamed.

The proof, in one paragraph #

Shifting the truncation triangle τ<ᵃ⁺ⁿX → X → τ≥ᵃ⁺ⁿX → [1] by n gives a distinguished triangle (Triangle.shift_distinguished) whose middle object is X⟦n⟧, whose first object is IsLE (a-1) and whose third is IsGE a (t.isLE_shift, t.isGE_shift). The truncation triangle of X⟦n⟧ at a has exactly the same three properties. Mathlib's t.triangle_iso_exists says a distinguished triangle with an IsLE (a-1) first object and an IsGE a third object is determined up to isomorphism by its middle object, so the two are isomorphic over 𝟙 (X⟦n⟧) — and both isomorphisms fall out of the single triangle isomorphism at once.

That uniqueness lemma is the whole content. Everything else is bookkeeping.

Downstream #

This is what originalHeartCohFunctor t n ≅ shiftFunctor C n ⋙ originalHeartCohFunctor t 0 needs, and hence what upgrades heart cohomology from homological at n = 0 to homological in every degree. See issue #151.

The truncation triangle of X at a + n, shifted by n.

Its middle object is X⟦n⟧, so it is a candidate for the truncation triangle of X⟦n⟧ at a; the point of this file is that it is one.

Equations
Instances For

    Uniqueness of the truncation decomposition, applied to the shifted truncation triangle: it is isomorphic to the truncation triangle of X⟦n⟧ at a, over the identity of X⟦n⟧.

    The chosen triangle isomorphism. Both truncation-shift isomorphisms below are components of this one.

    Equations
    Instances For
      noncomputable def CategoryTheory.Triangulated.TStructure.truncLTShiftIso {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (a n : ℤ) (X : C) :
      (shiftFunctor C n).obj ((t.truncLT (a + n)).obj X) ≅ (t.truncLT a).obj ((shiftFunctor C n).obj X)

      truncLT commutes with the shift.

      Equations
      Instances For
        noncomputable def CategoryTheory.Triangulated.TStructure.truncGEShiftIso {C : Type u} [Category.{v, u} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [∀ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (a n : ℤ) (X : C) :
        (shiftFunctor C n).obj ((t.truncGE (a + n)).obj X) ≅ (t.truncGE a).obj ((shiftFunctor C n).obj X)

        truncGE commutes with the shift.

        Equations
        Instances For

          The truncLT isomorphism sits over X⟦n⟧, up to the sign (-1)ⁿ.

          The sign is not an artefact of the proof: Triangle.shiftFunctor multiplies a triangle's maps by n.negOnePow, which is exactly why shiftFunctor C n is not a triangulated functor on the nose. Any downstream use of these isomorphisms inherits the sign, so it is stated rather than absorbed.

          The truncLT isomorphism sits over X⟦n⟧, up to the sign (-1)ⁿ.

          The sign is not an artefact of the proof: Triangle.shiftFunctor multiplies a triangle's maps by n.negOnePow, which is exactly why shiftFunctor C n is not a triangulated functor on the nose. Any downstream use of these isomorphisms inherits the sign, so it is stated rather than absorbed.

          The truncGE isomorphism sits under X⟦n⟧, up to the sign (-1)ⁿ; see the note on truncLTShiftIso_hom_comp_truncLTι.

          The truncGE isomorphism sits under X⟦n⟧, up to the sign (-1)ⁿ; see the note on truncLTShiftIso_hom_comp_truncLTι.

          Inverse form of truncGEπ_comp_truncGEShiftIso_hom, used to prove naturality of the comparison.