@@ -46,7 +46,7 @@ and with arbitrary colimits.
4646
4747@[expose] public section
4848
49- universe w' w v v' u u'
49+ universe w' w v v' v'' u u' u' '
5050
5151namespace CategoryTheory
5252
@@ -77,7 +77,8 @@ namespace Point
7777attribute [instance] initiallySmall isCofiltered
7878
7979variable {J} (Φ : Point.{w} J) {A : Type u'} [Category.{v'} A]
80- [HasColimitsOfSize.{w, w} A]
80+ {B : Type u''} [Category.{v''} B]
81+ [HasColimitsOfSize.{w, w} A] [HasColimitsOfSize.{w, w} B]
8182
8283instance : HasColimitsOfShape Φ.fiber.Elementsᵒᵖ A :=
8384 hasColimitsOfShape_of_finallySmall _ _
@@ -279,6 +280,36 @@ instance [HasSheafify J A] [J.WEqualsLocallyBijective A] [(forget A).ReflectsIso
279280 rw [← Functor.map_comp, Sheaf.sheafifyCocone_ι_app_val]
280281 dsimp))⟩
281282
283+ variable (F : A ⥤ B) [LocallySmall.{w} C] [PreservesFilteredColimitsOfSize.{w, w} F]
284+
285+ /-- If `Φ` is a point of a site and `F : A ⥤ B` is a functor which preserves
286+ filtered colimits, then taking fibers of presheaves at `Φ` commutes with `F`. -/
287+ noncomputable def presheafFiberCompIso :
288+ (Functor.whiskeringRight _ _ _).obj F ⋙ Φ.presheafFiber ≅
289+ Φ.presheafFiber ⋙ F :=
290+ haveI := Functor.Final.preservesColimitsOfShape_of_final
291+ (FinallySmall.fromFilteredFinalModel.{w} (Φ.fiber.Elementsᵒᵖ)) F
292+ Functor.isoWhiskerLeft
293+ ((Functor.whiskeringLeft _ _ _).obj _) (preservesColimitNatIso F).symm
294+
295+ @[reassoc]
296+ lemma toPresheafFiber_presheafFiberCompIso_hom_app
297+ (X : C) (x : Φ.fiber.obj X) (P : Cᵒᵖ ⥤ A) :
298+ Φ.toPresheafFiber X x (P ⋙ F) ≫ (Φ.presheafFiberCompIso F).hom.app P =
299+ F.map (Φ.toPresheafFiber X x P) := by
300+ haveI := Functor.Final.preservesColimitsOfShape_of_final
301+ (FinallySmall.fromFilteredFinalModel.{w} (Φ.fiber.Elementsᵒᵖ)) F
302+ simp only [presheafFiberCompIso]
303+ exact ι_preservesColimitIso_inv F ((CategoryOfElements.π Φ.fiber).op ⋙ P) _
304+
305+ /-- If `Φ` is a point of a site and `F : A ⥤ B` is a functor which preserves
306+ filtered colimits, then taking fibers of sheaves at `Φ` commutes with `F`. -/
307+ @[simps!]
308+ noncomputable def sheafFiberCompIso [J.HasSheafCompose F] :
309+ sheafCompose J F ⋙ Φ.sheafFiber ≅ Φ.sheafFiber ⋙ F :=
310+ Functor.isoWhiskerLeft (sheafToPresheaf J A) (Φ.presheafFiberCompIso F) ≪≫
311+ (Functor.associator _ _ _).symm
312+
282313end Point
283314
284315end GrothendieckTopology
0 commit comments