Essentially small categories. #
A category given by (C : Type u) [Category.{v} C]
is w
-essentially small
if there exists a SmallModel C : Type w
equipped with [SmallCategory (SmallModel C)]
and an
equivalence C ≌ SmallModel C
.
A category is w
-locally small if every hom type is w
-small.
The main theorem here is that a category is w
-essentially small iff
the type Skeleton C
is w
-small, and C
is w
-locally small.
A category is EssentiallySmall.{w}
if there exists
an equivalence to some S : Type w
with [SmallCategory S]
.
- equiv_smallCategory : ∃ (S : Type w) (x : CategoryTheory.SmallCategory S), Nonempty (C ≌ S)
An essentially small category is equivalent to some small category.
Instances
Constructor for EssentiallySmall C
from an explicit small category witness.
An arbitrarily chosen small model for an essentially small category.
Equations
- CategoryTheory.SmallModel.{w, v, u} C = Classical.choose (_ : ∃ (S : Type w) (x : CategoryTheory.SmallCategory S), Nonempty (C ≌ S))
Instances For
Equations
- One or more equations did not get rendered due to their size.
The (noncomputable) categorical equivalence between an essentially small category and its small model.
Equations
- CategoryTheory.equivSmallModel C = Nonempty.some (_ : Nonempty (C ≌ Classical.choose (_ : ∃ (S : Type w) (x : CategoryTheory.SmallCategory S), Nonempty (C ≌ S))))
Instances For
A category is w
-locally small if every hom set is w
-small.
See ShrinkHoms C
for a category instance where every hom set has been replaced by a small model.
- hom_small : ∀ (X Y : C), Small.{w, v} (X ⟶ Y)
A locally small category has small hom-types.
Instances
Equations
- (_ : Small.{w, v} (X ⟶ Y)) = (_ : Small.{w, v} (X ⟶ Y))
Equations
Equations
We define a type alias ShrinkHoms C
for C
. When we have LocallySmall.{w} C
,
we'll put a Category.{w}
instance on ShrinkHoms C
.
Equations
Instances For
Help the typechecker by explicitly translating from C
to ShrinkHoms C
.
Equations
Instances For
Help the typechecker by explicitly translating from ShrinkHoms C
to C
.
Equations
Instances For
Equations
- CategoryTheory.ShrinkHoms.instCategoryShrinkHoms C = CategoryTheory.Category.mk
Implementation of ShrinkHoms.equivalence
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Implementation of ShrinkHoms.equivalence
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The categorical equivalence between C
and ShrinkHoms C
, when C
is locally small.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
The categorical equivalence between C
and Shrink C
, when C
is small.
Equations
Instances For
A category is essentially small if and only if the underlying type of its skeleton (i.e. the "set" of isomorphism classes) is small, and it is locally small.
Any thin category is locally small.
Equations
A thin category is essentially small if and only if the underlying type of its skeleton is small.
Equations
- (_ : Small.{w, u} (CategoryTheory.Discrete C)) = (_ : Small.{w, u} (CategoryTheory.Discrete C))