Documentation

CatDG.ForMathlib.ConcreteSite

Concrete sites #

Concrete sites are concrete categories whose forgetful functor is corepresented by a terminal object, equipped with a Grothendieck topology consisting only of jointly surjective sieves. See https://ncatlab.org/nlab/show/concrete+site.

Also see https://arxiv.org/abs/0807.1704; note that while that article requires concrete sites to be subcanonical, we don't require that here.

Main definitions / results: #

There is also some material on concrete sheaves, but they should probably be redefined in terms of local sites / biseparated sheaves before being expanded upon.

TODOs #

def CategoryTheory.Presieve.IsJointlySurjective {C : Type u} [Category.{v, u} C] {FC : CCType w} {CC : CType w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory C FC] {X : C} (S : Presieve X) :

A presieve S on X in a concrete category is jointly surjective if every x : X is in the image of some f in S.

Equations
Instances For
    theorem CategoryTheory.Presieve.isJointlySurjective_iff_iUnion_range_eq_univ {C : Type u} [Category.{v, u} C] {FC : CCType w} {CC : CType w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory C FC] {X : C} {S : Presieve X} :
    S.IsJointlySurjective ⋃ (Y : C), ⋃ (f : Y X), ⋃ (_ : S f), Set.range (ConcreteCategory.hom f) = Set.univ
    theorem CategoryTheory.Presieve.IsJointlySurjective.iUnion_eq_univ {C : Type u} [Category.{v, u} C] {FC : CCType w} {CC : CType w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory C FC] {X : C} {S : Presieve X} (hS : S.IsJointlySurjective) :
    ⋃ (Y : C), ⋃ (f : Y X), ⋃ (_ : S f), Set.range (ConcreteCategory.hom f) = Set.univ
    theorem CategoryTheory.Presieve.IsJointlySurjective.mono {C : Type u} [Category.{v, u} C] {FC : CCType w} {CC : CType w} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [ConcreteCategory C FC] {X : C} {S R : Presieve X} (hR : S R) (hS : S.IsJointlySurjective) :

    A site is concrete if it is a concrete category in such a way that points correspond to morphisms from a terminal object, and all sieves are jointly surjective.

    Instances
      theorem CategoryTheory.GrothendieckTopology.IsConcreteSite.coyoneda_obj_terminal_faithful {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] :
      @[implicit_reducible]
      noncomputable instance CategoryTheory.GrothendieckTopology.IsConcreteSite.instUniqueTerminal {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] :

      The terminal object of a concrete site has exactly one point.

      Equations
      instance CategoryTheory.GrothendieckTopology.IsConcreteSite.isLocalSite {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] :

      Every concrete site is also a local site.

      theorem CategoryTheory.GrothendieckTopology.IsConcreteSite.from_terminal_mem_of_mem {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] {X : C} {S : Sieve X} (hS : S J X) (f : ⊤_ C X) :
      S.arrows f

      On concrete sites, covering sieves contain all morphisms from the terminal object.

      theorem CategoryTheory.GrothendieckTopology.IsConcreteSite.isSeparated_yoneda_obj {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] (X : C) :
      theorem CategoryTheory.GrothendieckTopology.IsConcreteSite.isSeparated_of_isRepresentable {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [IsConcreteSite FC J] (F : Functor Cᵒᵖ (Type v)) [F.IsRepresentable] :

      Every representable presheaf on a concrete site is, while not necessarily a sheaf, at least separated.

      def CategoryTheory.Presheaf.IsConcrete {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [GrothendieckTopology.IsConcreteSite FC J] (P : Functor Cᵒᵖ (Type w)) :
      Equations
      Instances For
        structure CategoryTheory.ConcreteSheaf {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [GrothendieckTopology.IsConcreteSite FC J] extends CategoryTheory.ObjectProperty.FullSubcategory (CategoryTheory.Presheaf.IsSheaf J) :
        Type (max (max u v) (w + 1))

        The category of concrete sheaves.

        Instances For
          @[reducible, inline]
          abbrev CategoryTheory.ConcreteSheaf.toSheaf {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] {J : GrothendieckTopology C} [GrothendieckTopology.IsConcreteSite FC J] (P : ConcreteSheaf J) :
          Equations
          Instances For
            @[implicit_reducible]
            instance CategoryTheory.instCategoryConcreteSheaf {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [GrothendieckTopology.IsConcreteSite FC J] :

            Morphisms of concrete sheaves are simply morphisms of sheaves.

            Equations
            def CategoryTheory.concreteSheafToSheaf {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [GrothendieckTopology.IsConcreteSite FC J] :

            The forgetful functor from concrete sheaves to sheaves.

            Equations
            Instances For
              instance CategoryTheory.instFullConcreteSheafSheafTypeConcreteSheafToSheaf {C : Type u} [Category.{v, u} C] {FC : CCType v} {CC : CType v} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] (J : GrothendieckTopology C) [GrothendieckTopology.IsConcreteSite FC J] :