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.
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
- CategoryTheory.InducedCategory D _F = C
Instances For
Equations
- CategoryTheory.InducedCategory.hasCoeToSort F = { coe := fun (c : CategoryTheory.InducedCategory D F) => CoeSort.coe (F c) }
The type of morphisms in InducedCategory D F between X and Y
is a 1-field structure which identifies to F X ⟶ F Y.
The underlying morphism.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Construct a morphism in the induced category from a morphism in the original category.
Equations
- CategoryTheory.InducedCategory.homMk f = { hom := f }
Instances For
Morphisms in InducedCategory D F identify to morphisms in D.
Equations
- CategoryTheory.InducedCategory.homEquiv = { toFun := fun (f : X ⟶ Y) => f.hom, invFun := fun (f : F X ⟶ F Y) => CategoryTheory.InducedCategory.homMk f, left_inv := ⋯, right_inv := ⋯ }
Instances For
Construct an isomorphism in the induced category from an isomorphism in the original category.
Equations
- CategoryTheory.InducedCategory.isoMk f = { hom := CategoryTheory.InducedCategory.homMk f.hom, inv := CategoryTheory.InducedCategory.homMk f.inv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
The forgetful functor from an induced category to the original category, forgetting the extra data.
Equations
- CategoryTheory.inducedFunctor F = { obj := F, map := fun {X Y : CategoryTheory.InducedCategory D F} (f : X ⟶ Y) => f.hom, map_id := ⋯, map_comp := ⋯ }
Instances For
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.