Documentation

Orbifolds.ForMathlib.LocalSite

Local sites #

A site (C,J) is called local if it has a terminal object whose only covering sieve is trivial - this makes it possible to define coconstant sheaves on it, giving its sheaf topos the structure of a local topos. This makes them an important stepping stone to cohesive sites.

See https://ncatlab.org/nlab/show/local+site.

Main definitions / results #

We also define a Grothendieck topology localTopology C on any category C with a terminal object, and show that it is the largest topology making C into a local site.

TODO: generalise universe levels from max u v to max u v w again once that is possible.

A local site is a site that has a terminal object with only a single covering sieve.

Instances
    theorem CategoryTheory.LocalSite.from_terminal_mem_of_mem {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) [J.IsLocalSite] {X : C} (f : ⊤_ C X) {S : Sieve X} (hS : S J X) :
    S.arrows f

    On a local site, every covering sieve contains every morphism from the terminal object.

    Every category with a terminal object becomes a local site with the trivial topology.

    The functor that sends any type A to the functor Cᵒᵖ → Type _ that sends any X : C to the type of all functions (⊤_ C ⟶ X) → A. This can be defined on any site with a terminal object, but has values in sheaves in the case of local sites.

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

      On local sites, Presheaf.coconst actually takes values in sheaves.

      The right adjoint to the global sections functor that exists over any local site. Takes a type X to the sheaf that sends each Y : C to the type of functions Y → X.

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

        On local sites, the global sections functor Γ is left-adjoint to the coconstant functor.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.IsLocalSite.ΓCoconstantSheafAdj_counit_app {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) [J.IsLocalSite] (Y : Type (max u v)) (a✝ : (Sheaf.Γ J (Type (max u v))).obj ((coconstantSheaf J).obj Y)) :
          (ΓCoconstantSheafAdj J).counit.app Y a✝ = (Adjunction.equivHomsetLeftOfNatIso (Sheaf.ΓNatIsoSheafSections J (Type (max u v)) Limits.terminalIsTerminal)).symm (({ unit := { app := fun (X : Sheaf J (Type (max u v))) => { val := { app := fun (Y : Cᵒᵖ) (x : X.val.obj Y) (y : ULift.{max u v, v} (⊤_ C Opposite.unop Y)) => { down := X.val.map (Opposite.op y.down) x }, naturality := } }, naturality := }, counit := { app := fun (X : Type (max u v)) (f : ULift.{max u v, v} (⊤_ C ⊤_ C)ULift.{v, max u v} X) => (f default).down, naturality := }, left_triangle_components := , right_triangle_components := }.homEquiv ((coconstantSheaf J).obj Y) Y).symm (CategoryStruct.id ((coconstantSheaf J).obj Y))) a✝

          The global sections of the coconstant sheaf on a type are naturally isomorphic to that type.

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

            On local sites, the constant sheaf functor is fully faithful.

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

              The largest topology making a category with a terminal object a local site. Lacking an established name, we call it the local topology.

              Equations
              Instances For

                For any site with a terminal object, the following are equivalent:

                • the site is local, i.e. the only covering sieve of the terminal object is the trivial one
                • every covering sieve contains all morphisms from the terminal object
                • the coconstant presheaf on the empty type is a sheaf
                • every coconstant presheaf is a sheaf.

                I don't yet know how exactly HasCoconstantSheaf J (Type max u v) fits into this - every local site has a coconstant sheaf functor, and every subcanonical site with a coconstant sheaf functor is local, but it's not clear to me what can be said in the non-subcanonical case. Maybe having a fully faithful coconstant sheaf functor could be strong enough? TODO: figure this out