Documentation

Mathlib.CategoryTheory.Sites.Point.Basic

Points of a site #

Let C be a category equipped with a Grothendieck topology J. In this file, we define the notion of point of the site (C, J), as a structure GrothendieckTopology.Point. Such a Φ : J.Point consists in a functor Φ.fiber : C ⥤ Type w such that the category Φ.fiber.Elements is cofiltered (and initially small) and such that if x : Φ.fiber.obj X and R is a covering sieve of X, then x belongs to the image of some y : Φ.fiber.obj Y by a morphism f : Y ⟶ X which belongs to R. (This definition is essentially the definition of a fiber functor on a site from SGA 4 IV 6.3.)

The fact that Φ.fiber.Elementsᵒᵖ is filtered allows to define Φ.presheafFiber : (Cᵒᵖ ⥤ A) ⥤ A by taking the filtering colimit of the evaluation functors at op X when (X : C, x : F.obj X) varies in Φ.fiber.Elementsᵒᵖ. We define Φ.sheafFiber : Sheaf J A ⥤ A as the restriction of Φ.presheafFiber to the full subcategory of sheaves.

Under certain assumptions, we show that if A is concrete and P ⟶ Q is a locally bijective morphism between presheaves, then the induced morphism on fibers is a bijection. It follows that not only Φ.sheafFiber : Sheaf J A ⥤ A is the restriction of Φ.presheafFiber but it may also be thought as a localization of this functor with respect to the class of morphisms J.W. In particular, the fiber of a presheaf identifies to the fiber of its associated sheaf.

Under suitable assumptions on the target category A, we show that both Φ.presheafFiber and Φ.sheafFiber commute with finite limits and with arbitrary colimits. (The commutation of Φ.sheafFiber with colimits is obtained in the file Mathlib/CategoryTheory/Sites/Point/Skyscraper.lean.)

structure CategoryTheory.GrothendieckTopology.Point {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) :
Type (max (max u v) (w + 1))

Given J a Grothendieck topology on a category C, a point of the site (C, J) consists of a functor fiber : C ⥤ Type w such that the category fiber.Elements is initially small (which allows defining the fiber functor on presheaves by taking colimits) and cofiltered (so that the fiber functor on presheaves is exact), and such that covering sieves induce jointly surjective maps on fibers (which allows to show that the fibers of a presheaf and its associated sheaf are isomorphic).

Instances For

    The fiber functor on categories of presheaves that is given by a point of a site.

    Instances For

      Given a point Φ of a site (C, J), X : C and x : Φ.fiber.obj X, this is the canonical map P.obj (op X) ⟶ Φ.presheafFiber.obj P.

      Instances For

        Given a point Φ of a site (C, J), X : C and x : Φ.fiber.obj X, this is the map P.obj (op X) ⟶ Φ.presheafFiber.obj P for any P : Cᵒᵖ ⥤ A as a natural transformation.

        Instances For
          @[simp]
          theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_w_apply {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {X Y : C} (f : X Y) (x : Φ.fiber.obj X) (P : Functor Cᵒᵖ A) {F : AAType uF} {carrier : AType w_1} {instFunLike : (X Y : A) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : ConcreteCategory A F] (x✝ : carrier (P.obj (Opposite.op Y))) :
          @[simp]
          theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_naturality_apply {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {P Q : Functor Cᵒᵖ A} (g : P Q) (X : C) (x : Φ.fiber.obj X) {F : AAType uF} {carrier : AType w_1} {instFunLike : (X Y : A) → FunLike (F X Y) (carrier X) (carrier Y)} [inst : ConcreteCategory A F] (x✝ : carrier (P.obj (Opposite.op X))) :

          The (colimit) cocone which defines the fiber of a presheaf.

          Instances For
            noncomputable def CategoryTheory.GrothendieckTopology.Point.presheafFiberDesc {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {P : Functor Cᵒᵖ A} {T : A} (φ : (X : C) → Φ.fiber.obj X → (P.obj (Opposite.op X) T)) ( : ∀ ⦃X Y : C⦄ (f : X Y) (x : Φ.fiber.obj X), CategoryStruct.comp (P.map f.op) (φ X x) = φ Y (Φ.fiber.map f x) := by cat_disch) :

            Constructor for morphisms from the fiber of a presheaf.

            Instances For
              @[simp]
              theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_presheafFiberDesc {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {P : Functor Cᵒᵖ A} {T : A} (φ : (X : C) → Φ.fiber.obj X → (P.obj (Opposite.op X) T)) ( : ∀ ⦃X Y : C⦄ (f : X Y) (x : Φ.fiber.obj X), CategoryStruct.comp (P.map f.op) (φ X x) = φ Y (Φ.fiber.map f x) := by cat_disch) (X : C) (x : Φ.fiber.obj X) :
              CategoryStruct.comp (Φ.toPresheafFiber X x P) (Φ.presheafFiberDesc φ ) = φ X x
              @[simp]
              theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_presheafFiberDesc_assoc {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {P : Functor Cᵒᵖ A} {T : A} (φ : (X : C) → Φ.fiber.obj X → (P.obj (Opposite.op X) T)) ( : ∀ ⦃X Y : C⦄ (f : X Y) (x : Φ.fiber.obj X), CategoryStruct.comp (P.map f.op) (φ X x) = φ Y (Φ.fiber.map f x) := by cat_disch) (X : C) (x : Φ.fiber.obj X) {Z : A} (h : T Z) :
              theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_jointly_surjective₂ {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {FC : AAType u_1} {CC : AType w'} [(X Y : A) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory A FC] {P : Functor Cᵒᵖ A} [Limits.PreservesFilteredColimitsOfSize.{w, w, v', w', u', w' + 1} (forget A)] [LocallySmall.{w, v, u} C] (p₁ p₂ : ToType (Φ.presheafFiber.obj P)) :
              ∃ (X : C) (x : Φ.fiber.obj X) (z₁ : ToType (P.obj (Opposite.op X))) (z₂ : ToType (P.obj (Opposite.op X))), (ConcreteCategory.hom (Φ.toPresheafFiber X x P)) z₁ = p₁ (ConcreteCategory.hom (Φ.toPresheafFiber X x P)) z₂ = p₂
              theorem CategoryTheory.GrothendieckTopology.Point.toPresheafFiber_eq_iff' {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} (Φ : J.Point) {A : Type u'} [Category.{v', u'} A] [Limits.HasColimitsOfSize.{w, w, v', u'} A] {FC : AAType u_1} {CC : AType w'} [(X Y : A) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory A FC] {P : Functor Cᵒᵖ A} [Limits.PreservesFilteredColimitsOfSize.{w, w, v', w', u', w' + 1} (forget A)] [LocallySmall.{w, v, u} C] (X : C) (x : Φ.fiber.obj X) (z₁ z₂ : ToType (P.obj (Opposite.op X))) :
              (ConcreteCategory.hom (Φ.toPresheafFiber X x P)) z₁ = (ConcreteCategory.hom (Φ.toPresheafFiber X x P)) z₂ ∃ (Y : C) (f : Y X) (y : Φ.fiber.obj Y), Φ.fiber.map f y = x (ConcreteCategory.hom (P.map f.op)) z₁ = (ConcreteCategory.hom (P.map f.op)) z₂

              The fiber functor on the category of sheaves that is given a by a point of a site.

              Instances For

                The fiber functor on sheaves is induced by the fiber functor on presheaves.

                Instances For

                  The fiber of the terminal object is a terminal object in Type w.

                  Instances For
                    @[implicit_reducible]

                    The fiber of the terminal object contains a unique element.

                    Instances For

                      If Φ is a point of a site and F : A ⥤ B is a functor which preserves filtered colimits, then taking fibers of presheaves at Φ commutes with F.

                      Instances For

                        If Φ is a point of a site and F : A ⥤ B is a functor which preserves filtered colimits, then taking fibers of sheaves at Φ commutes with F.

                        Instances For