Ind-objects #
For a presheaf A : Cᵒᵖ ⥤ Type v
we define the type IndObjectPresentation A
of presentations
of A
as a small filtered colimit of representable presheaves and define the predicate
IsIndObject A
asserting that there is at least one such presentation.
A presheaf is an ind-object if and only if the category CostructuredArrow yoneda A
is filtered
and finally small. In this way, CostructuredArrow yoneda A
can be thought of the universal
indexing category for the representation of A
as a small filtered colimit of representable
presheaves.
Future work #
There are various useful ways to understand natural transformations between ind-objects in terms of their presentations.
The ind-objects form a locally v
-small category IndCategory C
which has numerous interesting
properties.
Implementation notes #
One might be tempted to introduce another universe parameter and consider being a w
-ind-object
as a property of presheaves C ⥤ TypeMax.{v, w}
. This comes with significant technical hurdles.
The recommended alternative is to consider ind-objects over ULiftHom.{w} C
instead.
References #
- [M. Kashiwara, P. Schapira, Categories and Sheaves][Kashiwara2006], Chapter 6
The data that witnesses that a presheaf A
is an ind-object. It consists of a small
filtered indexing category I
, a diagram F : I ⥤ C
and the data for a colimit cocone on
F ⋙ yoneda : I ⥤ Cᵒᵖ ⥤ Type v
with cocone point A
.
- I : Type v
The indexing category of the filtered colimit presentation
- ℐ : CategoryTheory.SmallCategory self.I
The indexing category of the filtered colimit presentation
- hI : CategoryTheory.IsFiltered self.I
- F : CategoryTheory.Functor self.I C
The diagram of the filtered colimit presentation
- ι : CategoryTheory.Functor.comp self.F CategoryTheory.yoneda ⟶ (CategoryTheory.Functor.const self.I).obj A
Use
IndObjectPresentation.cocone
instead. - isColimit : CategoryTheory.Limits.IsColimit { pt := A, ι := self.ι }
Use
IndObjectPresenation.coconeIsColimit
instead.
Instances For
Alternative constructor for IndObjectPresentation
taking a cocone instead of its defining
natural transformation.
Equations
Instances For
Equations
Equations
- ⋯ = ⋯
The (colimit) cocone with cocone point A
.
Equations
- CategoryTheory.Limits.IndObjectPresentation.cocone P = { pt := A, ι := P.ι }
Instances For
P.cocone
is a colimit cocone.
Equations
- CategoryTheory.Limits.IndObjectPresentation.coconeIsColimit P = P.isColimit
Instances For
If A
and B
are isomorphic, then an ind-object presentation of A
can be extended to an
ind-object presentation of B
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical comparison functor between the indexing category of the presentation and the
comma category CostructuredArrow yoneda A
. This functor is always final.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ⋯ = ⋯
Representable presheaves are (trivially) ind-objects.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A presheaf is called an ind-object if it can be written as a filtered colimit of representable presheaves.
- mk' :: (
- nonempty_presentation : Nonempty (CategoryTheory.Limits.IndObjectPresentation A)
- )
Instances For
Representable presheaves are (trivially) ind-objects.
Pick a presentation for an ind-object using choice.
Equations
- CategoryTheory.Limits.IsIndObject.presentation x = match x with | ⋯ => Nonempty.some P
Instances For
The recognition theorem for ind-objects: A : Cᵒᵖ ⥤ Type v
is an ind-object if and only if
CostructuredArrow yoneda A
is filtered and finally v
-small.
Theorem 6.1.5 of [Kashiwara2006]