Documentation

Mathlib.CategoryTheory.Abelian.Projective.Dimension

Projective dimension #

In an abelian category C, we shall say that X : C has projective dimension < n if all Ext X Y i vanish when n ≤ i. This defines a type class HasProjectiveDimensionLT X n. We also define a type class HasProjectiveDimensionLE X n as an abbreviation for HasProjectiveDimensionLT X (n + 1). (Note that the fact that X is a zero object is equivalent to the condition HasProjectiveDimensionLT X 0, but this cannot be expressed in terms of HasProjectiveDimensionLE.)

An object X in an abelian category has projective dimension < n if all Ext X Y i vanish when n ≤ i. See also HasProjectiveDimensionLE. (Do not use the subsingleton' field directly. Use the constructor HasProjectiveDimensionLT.mk, and the lemmas hasProjectiveDimensionLT_iff and Ext.eq_zero_of_hasProjectiveDimensionLT.)

Instances
    @[reducible, inline]

    An object X in an abelian category has projective dimension ≤ n if all Ext X Y i vanish when n + 1 ≤ i

    Equations
    Instances For
      theorem CategoryTheory.HasProjectiveDimensionLT.mk {C : Type u} [Category.{v, u} C] [Abelian C] [HasExt C] {X : C} {n : } (hX : ∀ (i : ), n i∀ ⦃Y : C⦄ (e : Abelian.Ext X Y i), e = 0) :
      theorem CategoryTheory.Abelian.Ext.eq_zero_of_hasProjectiveDimensionLT {C : Type u} [Category.{v, u} C] [Abelian C] [HasExt C] {X Y : C} {i : } (e : Ext X Y i) (n : ) [HasProjectiveDimensionLT X n] (hi : n i) :
      e = 0
      theorem CategoryTheory.hasProjectiveDimensionLT_iff {C : Type u} [Category.{v, u} C] [Abelian C] (X : C) (n : ) [HasExt C] :
      HasProjectiveDimensionLT X n ∀ (i : ), n i∀ ⦃Y : C⦄ (e : Abelian.Ext X Y i), e = 0