Documentation

Mathlib.CategoryTheory.Triangulated.TStructure.Basic

t-structures on triangulated categories #

This file introduces the notion of t-structure on (pre)triangulated categories.

The first example of t-structure shall be the canonical t-structure on the derived category of an abelian category (TODO).

Given a t-structure t : TStructure C, we define typeclasses t.IsLE X n and t.IsGE X n in order to say that an object X : C is ≤ n or ≄ n for t.

Implementation notes #

We introduce the type of t-structures rather than a type class saying that we have fixed a t-structure on a certain category. The reason is that certain triangulated categories have several t-structures which one may want to use depending on the context.

TODO #

References #

TStructure C is the type of t-structures on the (pre)triangulated category C.

Instances For
    theorem CategoryTheory.Triangulated.TStructure.exists_triangle {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (A : C) (nā‚€ n₁ : ℤ) (h : nā‚€ + 1 = n₁) :
    ∃ (X : C) (Y : C) (_ : t.le nā‚€ X) (_ : t.ge n₁ Y) (f : X ⟶ A) (g : A ⟶ Y) (h : Y ⟶ (shiftFunctor C 1).obj X), Pretriangulated.Triangle.mk f g h ∈ Pretriangulated.distinguishedTriangles

    Given a t-structure t on a pretriangulated category C, the property t.IsLE X n holds if X : C is ≤ n for the t-structure.

    • le : t.le n X
    Instances

      Given a t-structure t on a pretriangulated category C, the property t.IsGE X n holds if X : C is ≄ n for the t-structure.

      • ge : t.ge n X
      Instances
        @[deprecated CategoryTheory.Triangulated.TStructure.isLE_of_le (since := "2026-01-30")]
        theorem CategoryTheory.Triangulated.TStructure.isLE_of_LE {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (p q : ℤ) (hpq : p ≤ q := by lia) [t.IsLE X p] :
        t.IsLE X q

        Alias of CategoryTheory.Triangulated.TStructure.isLE_of_le.

        @[deprecated CategoryTheory.Triangulated.TStructure.isGE_of_ge (since := "2026-01-30")]
        theorem CategoryTheory.Triangulated.TStructure.isGE_of_GE {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (p q : ℤ) (hpq : p ≤ q := by lia) [t.IsGE X q] :
        t.IsGE X p

        Alias of CategoryTheory.Triangulated.TStructure.isGE_of_ge.

        theorem CategoryTheory.Triangulated.TStructure.isLE_shift {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) [t.IsLE X n] :
        t.IsLE ((shiftFunctor C a).obj X) n'
        theorem CategoryTheory.Triangulated.TStructure.isGE_shift {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) [t.IsGE X n] :
        t.IsGE ((shiftFunctor C a).obj X) n'
        theorem CategoryTheory.Triangulated.TStructure.isLE_of_shift {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) [t.IsLE ((shiftFunctor C a).obj X) n'] :
        t.IsLE X n
        theorem CategoryTheory.Triangulated.TStructure.isGE_of_shift {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) [t.IsGE ((shiftFunctor C a).obj X) n'] :
        t.IsGE X n
        theorem CategoryTheory.Triangulated.TStructure.isLE_shift_iff {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) :
        t.IsLE ((shiftFunctor C a).obj X) n' ↔ t.IsLE X n
        theorem CategoryTheory.Triangulated.TStructure.isGE_shift_iff {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (n a n' : ℤ) (hn' : a + n' = n := by lia) :
        t.IsGE ((shiftFunctor C a).obj X) n' ↔ t.IsGE X n
        theorem CategoryTheory.Triangulated.TStructure.zero {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) {X Y : C} (f : X ⟶ Y) (nā‚€ n₁ : ℤ) (h : nā‚€ < n₁ := by lia) [t.IsLE X nā‚€] [t.IsGE Y n₁] :
        f = 0
        theorem CategoryTheory.Triangulated.TStructure.zero_of_isLE_of_isGE {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) {X Y : C} (f : X ⟶ Y) (nā‚€ n₁ : ℤ) (h : nā‚€ < n₁) :
        t.IsLE X nā‚€ → t.IsGE Y n₁ → f = 0
        theorem CategoryTheory.Triangulated.TStructure.isZero {C : Type u_1} [Category.{v_1, u_1} C] [Preadditive C] [Limits.HasZeroObject C] [HasShift C ℤ] [āˆ€ (n : ℤ), (shiftFunctor C n).Additive] [Pretriangulated C] (t : TStructure C) (X : C) (nā‚€ n₁ : ℤ) (h : nā‚€ < n₁ := by lia) [t.IsLE X nā‚€] [t.IsGE X n₁] :

        The full subcategory consisting of t-bounded above objects.

        Equations
          Instances For

            The full subcategory consisting of t-bounded below objects.

            Equations
              Instances For

                The full subcategory consisting of t-bounded objects.

                Equations
                  Instances For