Documentation

Mathlib.CategoryTheory.Sites.CoverLifting

Cocontinuous functors between sites. #

We define cocontinuous functors between sites as functors that pull covering sieves back to covering sieves. This concept is also known as cover-lifting or cover-reflecting functors. We use the original terminology and definition of SGA 4 III 2.1. However, the notion of cocontinuous functor should not be confused with the general definition of cocontinuous functors between categories as functors preserving small colimits.

Main definitions #

Main results #

References #

A functor G : (C, J) ⥤ (D, K) between sites is called cocontinuous (SGA 4 III 2.1) if for all covering sieves R in D, R.pullback G is a covering sieve in C.

Instances
    theorem CategoryTheory.Functor.cover_lift {C : Type u_1} [Category.{u_4, u_1} C] {D : Type u_2} [Category.{u_5, u_2} D] (G : Functor C D) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [G.IsCocontinuous J K] {U : C} {S : Sieve (G.obj U)} (hS : S K (G.obj U)) :

    The identity functor on a site is cocontinuous.

    The composition of two cocontinuous functors is cocontinuous.

    We will now prove that G.op.ran : (Cᵒᵖ ⥤ A) ⥤ (Dᵒᵖ ⥤ A) maps sheaves to sheaves when G : C ⥤ D is a cocontinuous functor.

    We do not follow the proofs in SGA 4 III 2.2 or https://stacks.math.columbia.edu/tag/00XK. Instead, we verify as directly as possible that if F : Cᵒᵖ ⥤ A is a sheaf, then G.op.ran.obj F is a sheaf. in order to do this, we use the "multifork" characterization of sheaves which involves limits in the category A. As G.op.ran.obj F is the chosen right Kan extension of F along G.op : Cᵒᵖ ⥤ Dᵒᵖ, we actually verify that any pointwise right Kan extension of F along G.op is a sheaf.

    def CategoryTheory.RanIsSheafOfIsCocontinuous.liftAux {C : Type u_1} {D : Type u_2} [Category.{u_3, u_1} C] [Category.{u_4, u_2} D] {G : Functor C D} {A : Type w} [Category.{w', w} A] {J : GrothendieckTopology C} {K : GrothendieckTopology D} [G.IsCocontinuous J K] {F : Functor Cᵒᵖ A} (hF : Presheaf.IsSheaf J F) {R : Functor Dᵒᵖ A} (α : G.op.comp R F) {X : D} {S : K.Cover X} (s : Limits.Multifork (S.index R)) {Y : C} (f : G.obj Y X) :

    Auxiliary definition for lift.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem CategoryTheory.RanIsSheafOfIsCocontinuous.liftAux_map {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] {G : Functor C D} {A : Type w} [Category.{w', w} A] {J : GrothendieckTopology C} {K : GrothendieckTopology D} [G.IsCocontinuous J K] {F : Functor Cᵒᵖ A} (hF : Presheaf.IsSheaf J F) {R : Functor Dᵒᵖ A} (α : G.op.comp R F) {X : D} {S : K.Cover X} (s : Limits.Multifork (S.index R)) {Y : C} (f : G.obj Y X) {W : C} (g : W Y) (i : S.Arrow) (h : G.obj W i.Y) (w : CategoryStruct.comp h i.f = CategoryStruct.comp (G.map g) f) :
      theorem CategoryTheory.RanIsSheafOfIsCocontinuous.liftAux_map' {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] {G : Functor C D} {A : Type w} [Category.{w', w} A] {J : GrothendieckTopology C} {K : GrothendieckTopology D} [G.IsCocontinuous J K] {F : Functor Cᵒᵖ A} (hF : Presheaf.IsSheaf J F) {R : Functor Dᵒᵖ A} (α : G.op.comp R F) {X : D} {S : K.Cover X} (s : Limits.Multifork (S.index R)) {Y Y' : C} (f : G.obj Y X) (f' : G.obj Y' X) {W : C} (a : W Y) (b : W Y') (w : CategoryStruct.comp (G.map a) f = CategoryStruct.comp (G.map b) f') :
      CategoryStruct.comp (liftAux hF α s f) (F.map a.op) = CategoryStruct.comp (liftAux hF α s f') (F.map b.op)

      Auxiliary definition for isLimitMultifork

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.RanIsSheafOfIsCocontinuous.fac {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] {G : Functor C D} {A : Type w} [Category.{w', w} A] {J : GrothendieckTopology C} {K : GrothendieckTopology D} [G.IsCocontinuous J K] {F : Functor Cᵒᵖ A} (hF : Presheaf.IsSheaf J F) {R : Functor Dᵒᵖ A} {α : G.op.comp R F} (hR : (Functor.RightExtension.mk R α).IsPointwiseRightKanExtension) {X : D} {S : K.Cover X} (s : Limits.Multifork (S.index R)) (i : S.Arrow) :
        CategoryStruct.comp (lift hF hR s) (R.map i.f.op) = s.ι i
        @[simp]
        theorem CategoryTheory.RanIsSheafOfIsCocontinuous.hom_ext {C : Type u_1} {D : Type u_2} [Category.{u_4, u_1} C] [Category.{u_3, u_2} D] {G : Functor C D} {A : Type w} [Category.{w', w} A] {J : GrothendieckTopology C} (K : GrothendieckTopology D) [G.IsCocontinuous J K] {F : Functor Cᵒᵖ A} (hF : Presheaf.IsSheaf J F) {R : Functor Dᵒᵖ A} {α : G.op.comp R F} (hR : (Functor.RightExtension.mk R α).IsPointwiseRightKanExtension) {X : D} {S : K.Cover X} {W : A} {f g : W R.obj (Opposite.op X)} (h : ∀ (i : S.Arrow), CategoryStruct.comp f (R.map i.f.op) = CategoryStruct.comp g (R.map i.f.op)) :
        f = g

        If G is cocontinuous, then G.op.ran pushes sheaves to sheaves.

        This is SGA 4 III 2.2.

        Stacks Tag 00XK (Alternative reference. There, results are obtained under the additional assumption that C and D have pullbacks.)

        A cocontinuous functor induces a pushforward functor on categories of sheaves.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Given a functor between sites that is continuous and cocontinuous, the pushforward for the continuous functor G is left adjoint to the pushforward for the cocontinuous functor G.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The natural isomorphism exhibiting compatibility between pushforward and sheafification.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For