@@ -20,10 +20,10 @@ namespace CategoryTheory
20
20
21
21
open GrothendieckTopology CategoryTheory Limits Opposite
22
22
23
- universe v u
23
+ universe v₁ v₂ u₁ u₂
24
24
25
- variable {C : Type u} [Category.{v} C] (J : GrothendieckTopology C)
26
- variable {D : Type * } [Category D]
25
+ variable {C : Type u₁ } [Category.{v₁ } C] (J : GrothendieckTopology C)
26
+ variable {D : Type u₂ } [Category.{v₂} D]
27
27
variable {E : Type *} [Category E]
28
28
variable {F : D ⥤ E} {G : E ⥤ D}
29
29
variable [HasWeakSheafify J D]
@@ -119,21 +119,21 @@ section ForgetToType
119
119
variable [ConcreteCategory D] [HasSheafCompose J (forget D)]
120
120
121
121
/-- This is the functor sending a sheaf of types `X` to the sheafification of `X ⋙ G`. -/
122
- abbrev composeAndSheafifyFromTypes (G : Type max v u ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
122
+ abbrev composeAndSheafifyFromTypes (G : Type max v₁ u₁ ⥤ D) : SheafOfTypes J ⥤ Sheaf J D :=
123
123
(sheafEquivSheafOfTypes J).inverse ⋙ composeAndSheafify _ G
124
124
set_option linter.uppercaseLean3 false in
125
125
#align category_theory.Sheaf.compose_and_sheafify_from_types CategoryTheory.Sheaf.composeAndSheafifyFromTypes
126
126
127
127
/-- A variant of the adjunction between sheaf categories, in the case where the right adjoint
128
128
is the forgetful functor to sheaves of types. -/
129
- def adjunctionToTypes {G : Type max v u ⥤ D} (adj : G ⊣ forget D) :
129
+ def adjunctionToTypes {G : Type max v₁ u₁ ⥤ D} (adj : G ⊣ forget D) :
130
130
composeAndSheafifyFromTypes J G ⊣ sheafForget J :=
131
131
(sheafEquivSheafOfTypes J).symm.toAdjunction.comp (adjunction J adj)
132
132
set_option linter.uppercaseLean3 false in
133
133
#align category_theory.Sheaf.adjunction_to_types CategoryTheory.Sheaf.adjunctionToTypes
134
134
135
135
@[simp]
136
- theorem adjunctionToTypes_unit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
136
+ theorem adjunctionToTypes_unit_app_val {G : Type max v₁ u₁ ⥤ D} (adj : G ⊣ forget D)
137
137
(Y : SheafOfTypes J) :
138
138
((adjunctionToTypes J adj).unit.app Y).val =
139
139
(adj.whiskerRight _).unit.app ((sheafOfTypesToPresheaf J).obj Y) ≫
@@ -145,7 +145,7 @@ set_option linter.uppercaseLean3 false in
145
145
#align category_theory.Sheaf.adjunction_to_types_unit_app_val CategoryTheory.Sheaf.adjunctionToTypes_unit_app_val
146
146
147
147
@[simp]
148
- theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ forget D)
148
+ theorem adjunctionToTypes_counit_app_val {G : Type max v₁ u₁ ⥤ D} (adj : G ⊣ forget D)
149
149
(X : Sheaf J D) :
150
150
((adjunctionToTypes J adj).counit.app X).val =
151
151
sheafifyLift J ((Functor.associator _ _ _).hom ≫ (adj.whiskerRight _).counit.app _) X.2 := by
@@ -159,10 +159,7 @@ theorem adjunctionToTypes_counit_app_val {G : Type max v u ⥤ D} (adj : G ⊣ f
159
159
NatIso.ofComponents, Adjunction.whiskerRight, Adjunction.mkOfUnitCounit]
160
160
simp
161
161
162
- set_option linter.uppercaseLean3 false in
163
- #align category_theory.Sheaf.adjunction_to_types_counit_app_val CategoryTheory.Sheaf.adjunctionToTypes_counit_app_val
164
-
165
- instance [(forget D).IsRightAdjoint ] : (sheafForget J : Sheaf J D ⥤ _).IsRightAdjoint :=
162
+ instance [(forget D).IsRightAdjoint] : (sheafForget (D := D) J).IsRightAdjoint :=
166
163
(adjunctionToTypes J (Adjunction.ofIsRightAdjoint (forget D))).isRightAdjoint
167
164
168
165
end ForgetToType
0 commit comments