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.)

We also define the projective dimension in WithBot ℕ∞ as projectiveDimension, projectiveDimension X = ⊥ iff X is zero and behaves as expected on non-negative values.

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.)

  • mk' :: (
    • subsingleton' (i : ) (hi : n i) Y : C : Subsingleton (Abelian.Ext X Y i)
  • )
Instances
    @[reducible, inline]
    abbrev CategoryTheory.HasProjectiveDimensionLE {C : Type u} [Category.{v, u} C] [Abelian C] (X : C) (n : ) :

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

    Instances For
      theorem CategoryTheory.HasProjectiveDimensionLT.subsingleton {C : Type u} [Category.{v, u} C] [Abelian C] [HasExt C] (X : C) (n : ) [hX : HasProjectiveDimensionLT X n] (i : ) (hi : n i) (Y : C) :
      Subsingleton (Abelian.Ext X Y i)
      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
      theorem CategoryTheory.projective_iff_subsingleton_ext_one {C : Type u} [Category.{v, u} C] [Abelian C] {X : C} [HasExt C] :
      Projective X ∀ ⦃Y : C⦄, Subsingleton (Abelian.Ext X Y 1)

      The projective dimension of an object in an abelian category.

      Instances For