Basic API for ULift #
This file contains a very basic API for working with the categorical
instance on ULift C
where C
is a type with a category instance.
CategoryTheory.ULift.upFunctor
is the functorial version of the usualULift.up
.CategoryTheory.ULift.downFunctor
is the functorial version of the usualULift.down
.CategoryTheory.ULift.equivalence
is the categorical equivalence betweenC
andULift C
.
ULiftHom #
Given a type C : Type u
, ULiftHom.{w} C
is just an alias for C
.
If we have category.{v} C
, then ULiftHom.{w} C
is endowed with a category instance
whose morphisms are obtained by applying ULift.{w}
to the morphisms from C
.
This is a category equivalent to C
. The forward direction of the equivalence is ULiftHom.up
,
the backward direction is ULiftHom.down
and the equivalence is ULiftHom.equiv
.
AsSmall #
This file also contains a construction which takes a type C : Type u
with a
category instance Category.{v} C
and makes a small category
AsSmall.{w} C : Type (max w v u)
equivalent to C
.
The forward direction of the equivalence, C ⥤ AsSmall C
, is denoted AsSmall.up
and the backward direction is AsSmall.down
. The equivalence itself is AsSmall.equiv
.
The functorial version of ULift.up
.
Equations
Instances For
The functorial version of ULift.down
.
Equations
- CategoryTheory.ULift.downFunctor = { obj := ULift.down, map := fun {X Y : ULift.{?u.22, ?u.23} C} (f : X ⟶ Y) => f, map_id := ⋯, map_comp := ⋯ }
Instances For
The categorical equivalence between C
and ULift C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ULiftHom.{w} C
is an alias for C
, which is endowed with a category instance
whose morphisms are obtained by applying ULift.{w}
to the morphisms from C
.
Equations
Instances For
Equations
- CategoryTheory.instInhabitedULiftHom = { default := default }
Equations
- CategoryTheory.ULiftHom.category = CategoryTheory.Category.mk ⋯ ⋯ ⋯
One half of the quivalence between C
and ULiftHom C
.
Equations
Instances For
One half of the quivalence between C
and ULiftHom C
.
Equations
- CategoryTheory.ULiftHom.down = { obj := CategoryTheory.ULiftHom.objDown, map := fun {X Y : CategoryTheory.ULiftHom C} (f : X ⟶ Y) => f.down, map_id := ⋯, map_comp := ⋯ }
Instances For
The equivalence between C
and ULiftHom C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
AsSmall C
is a small category equivalent to C
.
More specifically, if C : Type u
is endowed with Category.{v} C
, then
AsSmall.{w} C : Type (max w v u)
is endowed with an instance of a small category.
The objects and morphisms of AsSmall C
are defined by applying ULift
to the
objects and morphisms of C
.
Note: We require a category instance for this definition in order to have direct
access to the universe level v
.
Equations
Instances For
Equations
- CategoryTheory.instSmallCategoryAsSmall = CategoryTheory.Category.mk ⋯ ⋯ ⋯
One half of the equivalence between C
and AsSmall C
.
Equations
Instances For
One half of the equivalence between C
and AsSmall C
.
Equations
- CategoryTheory.AsSmall.down = { obj := fun (X : CategoryTheory.AsSmall C) => X.down, map := fun {X Y : CategoryTheory.AsSmall C} (f : X ⟶ Y) => f.down, map_id := ⋯, map_comp := ⋯ }
Instances For
The equivalence between C
and AsSmall C
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CategoryTheory.instInhabitedAsSmall = { default := { down := default } }
The equivalence between C
and ULiftHom (ULift C)
.
Equations
- CategoryTheory.ULiftHomULiftCategory.equiv C = CategoryTheory.ULift.equivalence.trans CategoryTheory.ULiftHom.equiv