Documentation

Mathlib.CategoryTheory.Widesubcategory

Wide subcategories #

A wide subcategory of a category C is a subcategory containing all the objects of C.

Main declarations #

Given a category D, a function F : C → D from a type C to the objects of D, and a morphism property P on D which contains identities and is stable under composition, the type class InducedWideCategory D F P is a typeclass synonym for C which comes equipped with a category structure whose morphisms X ⟶ Y are the morphisms in D which have the property P.

The instance WideSubcategory.category provides a category structure on WideSubcategory P whose objects are the objects of C and morphisms are the morphisms in C which have the property P.

def CategoryTheory.InducedWideCategory {C : Type u₁} (D : Type u₂) [Category.{v₁, u₂} D] (_F : CD) (_P : MorphismProperty D) [_P.IsMultiplicative] :
Type u₁

InducedWideCategory D F P, where F : C → D, is a typeclass synonym for C, which provides a category structure so that the morphisms X ⟶ Y are the morphisms in D from F X to F Y which satisfy a property P : MorphismProperty D that is multiplicative.

Equations
Instances For
    instance CategoryTheory.InducedWideCategory.hasCoeToSort {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] {α : Sort u_1} [CoeSort D α] :
    Equations
    @[simp]
    theorem CategoryTheory.InducedWideCategory.category_comp_coe {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] {x✝ x✝¹ x✝² : InducedWideCategory D F P} (f : x✝ x✝¹) (g : x✝¹ x✝²) :
    @[simp]
    theorem CategoryTheory.InducedWideCategory.category_id_coe {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] (X : InducedWideCategory D F P) :
    def CategoryTheory.wideInducedFunctor {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] :

    The forgetful functor from an induced wide category to the original category.

    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.wideInducedFunctor_map {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] {x✝ x✝¹ : InducedWideCategory D F P} (f : x✝ x✝¹) :
      (wideInducedFunctor F P).map f = f
      @[simp]
      theorem CategoryTheory.wideInducedFunctor_obj {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] (a✝ : C) :
      (wideInducedFunctor F P).obj a✝ = F a✝
      instance CategoryTheory.InducedWideCategory.faithful {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] (F : CD) (P : MorphismProperty D) [P.IsMultiplicative] :
      (wideInducedFunctor F P).Faithful

      The induced functor wideInducedFunctor F P : InducedWideCategory D F P ⥤ D is faithful.

      structure CategoryTheory.WideSubcategory {C : Type u₁} [Category.{v₁, u₁} C] (_P : MorphismProperty C) [_P.IsMultiplicative] :
      Type u₁

      Structure for wide subcategories. Objects ignore the morphism property.

      • obj : C

        The category of which this is a wide subcategory

      Instances For
        theorem CategoryTheory.WideSubcategory.ext {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {_P : MorphismProperty C} {inst✝¹ : _P.IsMultiplicative} {x y : WideSubcategory _P} (obj : x.obj = y.obj) :
        x = y
        @[simp]
        theorem CategoryTheory.WideSubcategory.comp_def {C : Type u₁} [Category.{v₁, u₁} C] (P : MorphismProperty C) [P.IsMultiplicative] {X Y Z : WideSubcategory P} (f : X Y) (g : Y Z) :

        The forgetful functor from a wide subcategory into the original category ("forgetting" the condition).

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.wideSubcategoryInclusion.obj {C : Type u₁} [Category.{v₁, u₁} C] (P : MorphismProperty C) [P.IsMultiplicative] (X : WideSubcategory P) :
          (wideSubcategoryInclusion P).obj X = X.obj
          @[simp]
          theorem CategoryTheory.wideSubcategoryInclusion.map {C : Type u₁} [Category.{v₁, u₁} C] (P : MorphismProperty C) [P.IsMultiplicative] {X Y : WideSubcategory P} {f : X Y} :
          instance CategoryTheory.wideSubcategory.faithful {C : Type u₁} [Category.{v₁, u₁} C] (P : MorphismProperty C) [P.IsMultiplicative] :

          The inclusion of a wide subcategory is faithful.