The category of finite types. #
We define the category of finite types, denoted FintypeCat
as
(bundled) types with a Fintype
instance.
We also define FintypeCat.Skeleton
, the standard skeleton of FintypeCat
whose objects
are Fin n
for n : ℕ
. We prove that the obvious inclusion functor
FintypeCat.Skeleton ⥤ FintypeCat
is an equivalence of categories in
FintypeCat.Skeleton.equivalence
.
We prove that FintypeCat.Skeleton
is a skeleton of FintypeCat
in FintypeCat.isSkeleton
.
The category of finite types.
Equations
Instances For
Equations
- FintypeCat.instCoeSortFintypeCatType = CategoryTheory.Bundled.coeSort
Equations
- FintypeCat.instInhabitedFintypeCat = { default := FintypeCat.of PEmpty.{u_1 + 1} }
Equations
- FintypeCat.instFintypeα = X.str
Equations
- FintypeCat.instCategoryFintypeCat = CategoryTheory.InducedCategory.category CategoryTheory.Bundled.α
The fully faithful embedding of FintypeCat
into the category of types.
Equations
- FintypeCat.incl = CategoryTheory.inducedFunctor CategoryTheory.Bundled.α
Instances For
Equivalences between finite types are the same as isomorphisms in FintypeCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The "standard" skeleton for FintypeCat
. This is the full subcategory of FintypeCat
spanned by objects of the form ULift (Fin n)
for n : ℕ
. We parameterize the objects
of Fintype.Skeleton
directly as ULift ℕ
, as the type ULift (Fin m) ≃ ULift (Fin n)
is nonempty if and only if n = m
. Specifying universes, Skeleton : Type u
is a small
skeletal category equivalent to Fintype.{u}
.
Equations
Instances For
Given any natural number n
, this creates the associated object of Fintype.Skeleton
.
Equations
- FintypeCat.Skeleton.mk = ULift.up
Instances For
Equations
- FintypeCat.Skeleton.instInhabitedSkeleton = { default := FintypeCat.Skeleton.mk 0 }
Given any object of Fintype.Skeleton
, this returns the associated natural number.
Equations
- FintypeCat.Skeleton.len = ULift.down
Instances For
Equations
- FintypeCat.Skeleton.instSmallCategorySkeleton = CategoryTheory.Category.mk
The canonical fully faithful embedding of Fintype.Skeleton
into FintypeCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Fintype.Skeleton
is a skeleton of Fintype
.
Equations
- FintypeCat.isSkeleton = { skel := FintypeCat.Skeleton.is_skeletal, eqv := inferInstance }