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 : C โ†’ D) (_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.

Instances For
    @[implicit_reducible]
    instance CategoryTheory.InducedWideCategory.hasCoeToSort {C : Type uโ‚} {D : Type uโ‚‚} [Category.{vโ‚, uโ‚‚} D] (F : C โ†’ D) (P : MorphismProperty D) [P.IsMultiplicative] {ฮฑ : Sort u_1} [CoeSort D ฮฑ] :
    CoeSort (InducedWideCategory D F P) ฮฑ
    structure CategoryTheory.InducedWideCategory.Hom {C : Type uโ‚} {D : Type uโ‚‚} [Category.{vโ‚, uโ‚‚} D] {F : C โ†’ D} {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_iff {C : Type uโ‚} {D : Type uโ‚‚} {instโœ : Category.{vโ‚, uโ‚‚} D} {F : C โ†’ D} {P : MorphismProperty D} {instโœยน : P.IsMultiplicative} {X Y : InducedWideCategory D F P} {x y : X.Hom Y} :
      x = y โ†” x.hom = y.hom
      theorem CategoryTheory.InducedWideCategory.Hom.ext {C : Type uโ‚} {D : Type uโ‚‚} {instโœ : Category.{vโ‚, uโ‚‚} D} {F : C โ†’ D} {P : MorphismProperty D} {instโœยน : P.IsMultiplicative} {X Y : InducedWideCategory D F P} {x y : X.Hom Y} (hom : x.hom = y.hom) :
      x = y
      @[simp]
      theorem CategoryTheory.InducedWideCategory.category_comp_hom {C : Type uโ‚} {D : Type uโ‚‚} [Category.{vโ‚, uโ‚‚} D] (F : C โ†’ D) (P : MorphismProperty D) [P.IsMultiplicative] {xโœ xโœยน xโœยฒ : InducedWideCategory D F P} (f : xโœ.Hom xโœยน) (g : xโœยน.Hom xโœยฒ) :
      def CategoryTheory.wideInducedFunctor {C : Type uโ‚} {D : Type uโ‚‚} [Category.{vโ‚, uโ‚‚} D] (F : C โ†’ D) (P : MorphismProperty D) [P.IsMultiplicative] :

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

      Instances For
        @[simp]
        theorem CategoryTheory.wideInducedFunctor_obj {C : Type uโ‚} {D : Type uโ‚‚} [Category.{vโ‚, uโ‚‚} D] (F : C โ†’ D) (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 : C โ†’ D) (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_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
          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

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

          Instances For
            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) :

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

            Instances For
              @[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
              @[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