Documentation

Mathlib.CategoryTheory.InducedCategory

Induced categories and full subcategories #

Given a category D and a function F : C → D from a type C to the objects of D, there is an essentially unique way to give C a category structure such that F becomes a fully faithful functor, namely by taking $ Hom_C(X, Y) = Hom_D(FX, FY) $. We call this the category induced from D along F.

Implementation notes #

The type of morphisms between X and Y in InducedCategory D F is not definitionally equal to F X ⟶ F Y. Instead, this type is made a 1-field structure. Use InducedCategory.homMk to construct morphisms in induced categories.

def CategoryTheory.InducedCategory {C : Type u₁} (D : Type u₂) (_F : CD) :
Type u₁

InducedCategory D F, 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.

Equations
Instances For
    instance CategoryTheory.InducedCategory.hasCoeToSort {C : Type u₁} {D : Type u₂} (F : CD) {α : Sort u_1} [CoeSort D α] :
    Equations
    structure CategoryTheory.InducedCategory.Hom {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} (X Y : InducedCategory D F) :

    The type of morphisms in InducedCategory D F between X and Y is a 1-field structure which identifies to F X ⟶ F Y.

    • hom : F X F Y

      The underlying morphism.

    Instances For
      theorem CategoryTheory.InducedCategory.Hom.ext_iff {C : Type u₁} {D : Type u₂} {inst✝ : Category.{v, u₂} D} {F : CD} {X Y : InducedCategory D F} {x y : X.Hom Y} :
      x = y x.hom = y.hom
      theorem CategoryTheory.InducedCategory.Hom.ext {C : Type u₁} {D : Type u₂} {inst✝ : Category.{v, u₂} D} {F : CD} {X Y : InducedCategory D F} {x y : X.Hom Y} (hom : x.hom = y.hom) :
      x = y
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      @[simp]
      theorem CategoryTheory.InducedCategory.comp_hom {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X✝ Y✝ Z✝ : InducedCategory D F} (f : X✝.Hom Y✝) (g : Y✝.Hom Z✝) :
      theorem CategoryTheory.InducedCategory.comp_hom_assoc {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X✝ Y✝ Z✝ : InducedCategory D F} (f : X✝.Hom Y✝) (g : Y✝.Hom Z✝) {Z : D} (h : F Z✝ Z) :
      theorem CategoryTheory.InducedCategory.hom_ext {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} {f g : X Y} (h : f.hom = g.hom) :
      f = g
      theorem CategoryTheory.InducedCategory.hom_ext_iff {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} {f g : X Y} :
      f = g f.hom = g.hom
      def CategoryTheory.InducedCategory.homMk {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
      X Y

      Construct a morphism in the induced category from a morphism in the original category.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.InducedCategory.homMk_hom {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
        (homMk f).hom = f
        def CategoryTheory.InducedCategory.homEquiv {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} :
        (X Y) (F X F Y)

        Morphisms in InducedCategory D F identify to morphisms in D.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.InducedCategory.homEquiv_symm_apply_hom {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
          @[simp]
          theorem CategoryTheory.InducedCategory.homEquiv_apply {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : X Y) :
          def CategoryTheory.InducedCategory.isoMk {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
          X Y

          Construct an isomorphism in the induced category from an isomorphism in the original category.

          Equations
          Instances For
            @[simp]
            theorem CategoryTheory.InducedCategory.isoMk_inv {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
            @[simp]
            theorem CategoryTheory.InducedCategory.isoMk_hom {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] {F : CD} {X Y : InducedCategory D F} (f : F X F Y) :
            def CategoryTheory.inducedFunctor {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] (F : CD) :

            The forgetful functor from an induced category to the original category, forgetting the extra data.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.inducedFunctor_obj {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] (F : CD) (a✝ : C) :
              (inducedFunctor F).obj a✝ = F a✝
              @[simp]
              theorem CategoryTheory.inducedFunctor_map {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] (F : CD) {X✝ Y✝ : InducedCategory D F} (f : X✝ Y✝) :

              The induced functor inducedFunctor F : InducedCategory D F ⥤ D is fully faithful.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                instance CategoryTheory.InducedCategory.full {C : Type u₁} {D : Type u₂} [Category.{v, u₂} D] (F : CD) :