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
    @[implicit_reducible]
    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
    structure CategoryTheory.InducedWideCategory.Hom {C : Type u₁} {D : Type u₂} [Category.{v₁, u₂} D] {F : CD} {P : MorphismProperty D} [P.IsMultiplicative] (X Y : InducedWideCategory D F P) :
    Type v₁

    The type of morphisms in InducedWideCategory D F P between X and Y is a 2-field structure consisting of a morphism F X ⟶ F Y in D that satisfies the property P.

    • hom : F X F Y

      The underlying morphism.

    • property : P self.hom

      The property that the morphism satisfies.

    Instances For
      theorem CategoryTheory.InducedWideCategory.Hom.ext {C : Type u₁} {D : Type u₂} {inst✝ : Category.{v₁, u₂} D} {F : CD} {P : MorphismProperty D} {inst✝¹ : P.IsMultiplicative} {X Y : InducedWideCategory D F P} {x y : X.Hom Y} (hom : x.hom = y.hom) :
      x = y
      theorem CategoryTheory.InducedWideCategory.Hom.ext_iff {C : Type u₁} {D : Type u₂} {inst✝ : Category.{v₁, u₂} D} {F : CD} {P : MorphismProperty D} {inst✝¹ : P.IsMultiplicative} {X Y : InducedWideCategory D F P} {x y : X.Hom Y} :
      x = y x.hom = y.hom
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem CategoryTheory.InducedWideCategory.category_comp_hom {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✝.Hom x✝¹) (g : x✝¹.Hom x✝²) :

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

      Equations
      Instances For
        @[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✝
        @[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✝¹) :

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

        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
          theorem CategoryTheory.WideSubcategory.ext_iff {C : Type u₁} {inst✝ : Category.{v₁, u₁} C} {_P : MorphismProperty C} {inst✝¹ : _P.IsMultiplicative} {x y : WideSubcategory _P} :
          x = y x.obj = y.obj

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

          Equations
          Instances For

            The inclusion of a wide subcategory is faithful.

            def CategoryTheory.isoMk {C : Type u₁} [Category.{v₁, u₁} C] {P : MorphismProperty C} [P.IsMultiplicative] {X Y : WideSubcategory P} (e : X.obj Y.obj) (h₁ : P e.hom) (h₂ : P e.inv) :
            X Y

            Build an isomorphism in WideSubcategory P from an isomorphism in C.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.isoMk_inv_hom {C : Type u₁} [Category.{v₁, u₁} C] {P : MorphismProperty C} [P.IsMultiplicative] {X Y : WideSubcategory P} (e : X.obj Y.obj) (h₁ : P e.hom) (h₂ : P e.inv) :
              (isoMk e h₁ h₂).inv.hom = e.inv
              @[simp]
              theorem CategoryTheory.isoMk_hom_hom {C : Type u₁} [Category.{v₁, u₁} C] {P : MorphismProperty C} [P.IsMultiplicative] {X Y : WideSubcategory P} (e : X.obj Y.obj) (h₁ : P e.hom) (h₂ : P e.inv) :
              (isoMk e h₁ h₂).hom.hom = e.hom