Documentation

Mathlib.CategoryTheory.Sites.Continuous

Continuous functors between sites. #

We define the notion of continuous functor between sites: these are functors F such that the precomposition with F.op preserves sheaves of types (and actually sheaves in any category).

Main definitions #

Main result #

References #

The image of a 1-pre-hypercover by a functor.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_p₁ {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (x✝ x✝¹ : E.I₀) (j : E.I₁ x✝ x✝¹) :
    (E.map F).p₁ j = F.map (E.p₁ j)
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_Y {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (x✝ x✝¹ : E.I₀) (j : E.I₁ x✝ x✝¹) :
    (E.map F).Y j = F.obj (E.Y j)
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_I₀ {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) :
    (E.map F).I₀ = E.I₀
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_f {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (i : E.I₀) :
    (E.map F).f i = F.map (E.f i)
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_I₁ {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (i₁ i₂ : E.I₀) :
    (E.map F).I₁ i₁ i₂ = E.I₁ i₁ i₂
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_X {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (i : E.I₀) :
    (E.map F).X i = F.obj (E.X i)
    @[simp]
    theorem CategoryTheory.PreOneHypercover.map_p₂ {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) (x✝ x✝¹ : E.I₀) (j : E.I₁ x✝ x✝¹) :
    (E.map F).p₂ j = F.map (E.p₂ j)
    def CategoryTheory.PreOneHypercover.isLimitMapMultiforkEquiv {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {X : C} (E : PreOneHypercover X) (F : Functor C D) {A : Type u} [Category.{t, u} A] (P : Functor Dᵒᵖ A) :
    Limits.IsLimit ((E.map F).multifork P) Limits.IsLimit (E.multifork (F.op.comp P))

    If F : C ⥤ D, P : Dᵒᵖ ⥤ A and E is a 1-pre-hypercover of an object of X, then (E.map F).multifork P is a limit iff E.multifork (F.op ⋙ P) is a limit.

    Equations
    Instances For

      A 1-hypercover in C is preserved by a functor F : C ⥤ D if the mapped 1-pre-hypercover in D is a 1-hypercover for the given topology on D.

      • mem₀ : (E.map F).sieve₀ K (F.obj X)
      • mem₁ (i₁ i₂ : E.I₀) ⦃W : D (p₁ : W F.obj (E.X i₁)) (p₂ : W F.obj (E.X i₂)) (w : CategoryStruct.comp p₁ (F.map (E.f i₁)) = CategoryStruct.comp p₂ (F.map (E.f i₂))) : (E.map F).sieve₁ p₁ p₂ K W
      Instances
        def CategoryTheory.GrothendieckTopology.OneHypercover.map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {J : GrothendieckTopology C} {X : C} (E : J.OneHypercover X) (F : Functor C D) (K : GrothendieckTopology D) [E.IsPreservedBy F K] :
        K.OneHypercover (F.obj X)

        Given a 1-hypercover E : J.OneHypercover X of an object of C, a functor F : C ⥤ D such that E.IsPreversedBy F K for a Grothendieck topology K on D, this is the image of E by F, as a 1-hypercover of F.obj X for K.

        Equations
        • E.map F K = { toPreOneHypercover := E.map F, mem₀ := , mem₁ := }
        Instances For
          @[simp]
          theorem CategoryTheory.GrothendieckTopology.OneHypercover.map_toPreOneHypercover {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {J : GrothendieckTopology C} {X : C} (E : J.OneHypercover X) (F : Functor C D) (K : GrothendieckTopology D) [E.IsPreservedBy F K] :
          (E.map F K).toPreOneHypercover = E.map F
          instance CategoryTheory.GrothendieckTopology.OneHypercover.instIsPreservedById {C : Type u₁} [Category.{v₁, u₁} C] {J : GrothendieckTopology C} {X : C} (E : J.OneHypercover X) :
          E.IsPreservedBy (Functor.id C) J
          @[reducible, inline]

          The condition that a functor F : C ⥤ D sends 1-hypercovers for J : GrothendieckTopology C to 1-hypercovers for K : GrothendieckTopology D.

          Equations
          • F.PreservesOneHypercovers J K = ∀ {X : C} (E : J.OneHypercover X), E.IsPreservedBy F K
          Instances For

            A functor F is continuous if the precomposition with F.op sends sheaves of Type t to sheaves.

            Instances
              theorem CategoryTheory.Functor.op_comp_isSheaf_of_types {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (G : Sheaf K (Type t)) :
              Presieve.IsSheaf J (F.op.comp G.val)
              @[deprecated CategoryTheory.Functor.op_comp_isSheaf_of_types (since := "2024-11-26")]
              theorem CategoryTheory.Functor.op_comp_isSheafOfTypes {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (G : Sheaf K (Type t)) :
              Presieve.IsSheaf J (F.op.comp G.val)

              Alias of CategoryTheory.Functor.op_comp_isSheaf_of_types.

              theorem CategoryTheory.Functor.op_comp_isSheaf {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {A : Type u} [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (G : Sheaf K A) :
              Presheaf.IsSheaf J (F.op.comp G.val)
              theorem CategoryTheory.Functor.isContinuous_of_iso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {F₁ F₂ : Functor C D} (e : F₁ F₂) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F₁.IsContinuous J K] :
              F₂.IsContinuous J K
              theorem CategoryTheory.Functor.isContinuous_comp {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F₁ : Functor C D) (F₂ : Functor D E) (J : GrothendieckTopology C) (K : GrothendieckTopology D) (L : GrothendieckTopology E) [F₁.IsContinuous J K] [F₂.IsContinuous K L] :
              (F₁.comp F₂).IsContinuous J L
              theorem CategoryTheory.Functor.isContinuous_comp' {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {F₁ : Functor C D} {F₂ : Functor D E} {F₁₂ : Functor C E} (e : F₁.comp F₂ F₁₂) (J : GrothendieckTopology C) (K : GrothendieckTopology D) (L : GrothendieckTopology E) [F₁.IsContinuous J K] [F₂.IsContinuous K L] :
              F₁₂.IsContinuous J L
              theorem CategoryTheory.Functor.op_comp_isSheaf_of_preservesOneHypercovers {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {A : Type u} [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.PreservesOneHypercovers J K] [J.IsGeneratedByOneHypercovers] (P : Functor Dᵒᵖ A) (hP : Presheaf.IsSheaf K P) :
              Presheaf.IsSheaf J (F.op.comp P)
              theorem CategoryTheory.Functor.isContinuous_of_preservesOneHypercovers {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.PreservesOneHypercovers J K] [J.IsGeneratedByOneHypercovers] :
              F.IsContinuous J K
              instance CategoryTheory.Functor.instIsContinuousOfPreservesOneHypercovers {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.PreservesOneHypercovers J K] :
              F.IsContinuous J K

              The induced functor Sheaf K A ⥤ Sheaf J A given by F.op ⋙ _ if F is a continuous functor.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem CategoryTheory.Functor.sheafPushforwardContinuous_obj_val_map {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (ℱ : Sheaf K A) {X✝ Y✝ : Cᵒᵖ} (f : X✝ Y✝) :
                ((F.sheafPushforwardContinuous A J K).obj ).val.map f = .val.map (F.map f.unop).op
                @[simp]
                theorem CategoryTheory.Functor.sheafPushforwardContinuous_obj_val_obj {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (ℱ : Sheaf K A) (X : Cᵒᵖ) :
                ((F.sheafPushforwardContinuous A J K).obj ).val.obj X = .val.obj (Opposite.op (F.obj (Opposite.unop X)))
                @[simp]
                theorem CategoryTheory.Functor.sheafPushforwardContinuous_map_val_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] {X✝ Y✝ : Sheaf K A} (f : X✝ Y✝) (X : Cᵒᵖ) :
                ((F.sheafPushforwardContinuous A J K).map f).val.app X = f.val.app (Opposite.op (F.obj (Opposite.unop X)))
                def CategoryTheory.Functor.sheafPushforwardContinuousCompSheafToPresheafIso {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] :
                (F.sheafPushforwardContinuous A J K).comp (sheafToPresheaf J A) (sheafToPresheaf K A).comp ((whiskeringLeft Cᵒᵖ Dᵒᵖ A).obj F.op)

                The functor F.sheafPushforwardContinuous A J K : Sheaf K A ⥤ Sheaf J A is induced by the precomposition with F.op.

                Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Functor.sheafPushforwardContinuousCompSheafToPresheafIso_inv_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (X : Sheaf K A) (X✝ : Cᵒᵖ) :
                  ((F.sheafPushforwardContinuousCompSheafToPresheafIso A J K).inv.app X).app X✝ = CategoryStruct.id (X.val.obj (Opposite.op (F.obj (Opposite.unop X✝))))
                  @[simp]
                  theorem CategoryTheory.Functor.sheafPushforwardContinuousCompSheafToPresheafIso_hom_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) (A : Type u) [Category.{t, u} A] (J : GrothendieckTopology C) (K : GrothendieckTopology D) [F.IsContinuous J K] (X : Sheaf K A) (X✝ : Cᵒᵖ) :
                  ((F.sheafPushforwardContinuousCompSheafToPresheafIso A J K).hom.app X).app X✝ = CategoryStruct.id (X.val.obj (Opposite.op (F.obj (Opposite.unop X✝))))