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.
category_theory.ulift.upis the functorial version of the usualulift.up.category_theory.ulift.downis the functorial version of the usualulift.down.category_theory.ulift.equivalenceis the categorical equivalence betweenCandulift C.
ulift_hom #
Given a type C : Type u, ulift_hom.{w} C is just an alias for C.
If we have category.{v} C, then ulift_hom.{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 ulift_hom.up,
the backward direction is ulift_hom.donw and the equivalence is ulift_hom.equiv.
as_small #
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
as_small.{w} C : Type (max w v u) equivalent to C.
The forward direction of the equivalence, C ⥤ as_small C, is denoted as_small.up
and the backward direction is as_small.down. The equivalence itself is as_small.equiv.
The functorial version of ulift.up.
The functorial version of ulift.down.
Equations
- category_theory.ulift.down_functor = {obj := ulift.down C, map := λ (X Y : ulift C) (f : X ⟶ Y), f, map_id' := _, map_comp' := _}
The categorical equivalence between C and ulift C.
Equations
- category_theory.ulift.equivalence = {functor := category_theory.ulift.up_functor _inst_1, inverse := category_theory.ulift.down_functor _inst_1, unit_iso := {hom := 𝟙 (𝟭 C), inv := 𝟙 (category_theory.ulift.up_functor ⋙ category_theory.ulift.down_functor), hom_inv_id' := _, inv_hom_id' := _}, counit_iso := {hom := {app := λ (X : ulift C), 𝟙 ((category_theory.ulift.down_functor ⋙ category_theory.ulift.up_functor).obj X).down, naturality' := _}, inv := {app := λ (X : ulift C), 𝟙 ((𝟭 (ulift C)).obj X).down, naturality' := _}, hom_inv_id' := _, inv_hom_id' := _}, functor_unit_iso_comp' := _}
ulift_hom.{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
Equations
- category_theory.ulift_hom.inhabited = {default := arbitrary C _inst_2}
The obvious function ulift_hom C → C.
The obvious function C → ulift_hom C.
Equations
Equations
- category_theory.ulift_hom.category = {to_category_struct := {to_quiver := {hom := λ (A B : category_theory.ulift_hom C), ulift (A.obj_down ⟶ B.obj_down)}, id := λ (A : category_theory.ulift_hom C), {down := 𝟙 A.obj_down}, comp := λ (A B C_1 : category_theory.ulift_hom C) (f : A ⟶ B) (g : B ⟶ C_1), {down := f.down ≫ g.down}}, id_comp' := _, comp_id' := _, assoc' := _}
One half of the quivalence between C and ulift_hom C.
Equations
- category_theory.ulift_hom.up = {obj := category_theory.ulift_hom.obj_up C, map := λ (X Y : C) (f : X ⟶ Y), {down := f}, map_id' := _, map_comp' := _}
One half of the quivalence between C and ulift_hom C.
Equations
- category_theory.ulift_hom.down = {obj := category_theory.ulift_hom.obj_down C, map := λ (X Y : category_theory.ulift_hom C) (f : X ⟶ Y), f.down, map_id' := _, map_comp' := _}
The equivalence between C and ulift_hom C.
Equations
- category_theory.ulift_hom.equiv = {functor := category_theory.ulift_hom.up _inst_1, inverse := category_theory.ulift_hom.down _inst_1, unit_iso := category_theory.nat_iso.of_components (λ (A : C), category_theory.eq_to_iso _) category_theory.ulift_hom.equiv._proof_2, counit_iso := category_theory.nat_iso.of_components (λ (A : category_theory.ulift_hom C), category_theory.eq_to_iso _) category_theory.ulift_hom.equiv._proof_4, functor_unit_iso_comp' := _}
as_small C is a small category equivalent to C.
More specifically, if C : Type u is endowed with category.{v} C, then
as_small.{w} C : Type (max w v u) is endowed with an instance of a small category.
The objects and morphisms of as_small 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 category_theory.as_small
Equations
- category_theory.as_small.small_category = {to_category_struct := {to_quiver := {hom := λ (X Y : category_theory.as_small C), ulift (X.down ⟶ Y.down)}, id := λ (X : category_theory.as_small C), {down := 𝟙 X.down}, comp := λ (X Y Z : category_theory.as_small C) (f : X ⟶ Y) (g : Y ⟶ Z), {down := f.down ≫ g.down}}, id_comp' := _, comp_id' := _, assoc' := _}
One half of the equivalence between C and as_small C.
One half of the equivalence between C and as_small C.
Equations
- category_theory.as_small.down = {obj := λ (X : category_theory.as_small C), X.down, map := λ (X Y : category_theory.as_small C) (f : X ⟶ Y), f.down, map_id' := _, map_comp' := _}
The equivalence between C and as_small C.
Equations
- category_theory.as_small.equiv = {functor := category_theory.as_small.up _inst_1, inverse := category_theory.as_small.down _inst_1, unit_iso := category_theory.nat_iso.of_components (λ (X : C), category_theory.eq_to_iso _) category_theory.as_small.equiv._proof_2, counit_iso := category_theory.nat_iso.of_components (λ (X : category_theory.as_small C), category_theory.eq_to_iso _) category_theory.as_small.equiv._proof_4, functor_unit_iso_comp' := _}
The equivalence between C and ulift_hom (ulift C).