Documentation

Mathlib.CategoryTheory.Topos.Sheaf

(Elementary) Sheaf Topos #

We define a subobject classifier for categories of sheaves of (large enough) types.

Main definitions #

Let C refer to a category with (when relevant) Grothendieck topology J.

Main results #

TODOS: #

The truth morphism in the category of presheaves. At each component X : C, it is the constant map returning ⊤ : Sieve X.

Equations
Instances For
    def CategoryTheory.Presheaf.χ {C : Type u} [Category.{v, u} C] {F G : Functor Cᵒᵖ (Type (max u v))} (m : F G) :

    The characteristic map of an inclusion of presheaves. Given a monomorphism of sheaves m : F ⟶ G, an object X of the site, map an element x : G(X) to the (closed) sieve on X where f : Y → X is in the sieve iff ∃ a ∈ F(Y), G(f)(x) = m_Y(a)

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Presheaf.χ_app {C : Type u} [Category.{v, u} C] {F G : Functor Cᵒᵖ (Type (max u v))} (m : F G) (X : Cᵒᵖ) (x : G.obj X) :
      (χ m).app X x = { arrows := fun (Y : C) (f : Y Opposite.unop X) => ∃ (a : F.obj (Opposite.op Y)), G.map f.op x = m.app (Opposite.op Y) a, downward_closed := }

      A construction of a subject classifier in a category of presheaves.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.Presheaf.classifier_χ (C : Type u) [Category.{v, u} C] {U✝ X✝ : Functor Cᵒᵖ (Type (max u v))} (m : U✝ X✝) (x✝ : Mono m) :
        (classifier C).χ m = χ m

        Presheaf categories on an essentially small domain have a subobject classifier.

        The sheaf of closed sieves w/r/t J. See also Functor.closedSieves and Sheaf.classifier

        Equations
        Instances For

          The morphism t : 1 ⟶ Ω which picks out the maximal sieve

          Equations
          Instances For
            def CategoryTheory.Sheaf.χ {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F G : Sheaf J (Type (max u v))} (m : F G) [Mono m] :
            G Ω J

            Given a monomorphism of sheaves η : F ⟶ G, an object X of the site, map an element x : G(X) to the (closed) sieve on X where f : Y → X is in the sieve iff ∃ a ∈ F(Y), G(f)(x) = η_Y(a)

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Sheaf.χ_hom {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F G : Sheaf J (Type (max u v))} (m : F G) [Mono m] :
              theorem CategoryTheory.Sheaf.χ_unique {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F G : Sheaf J (Type (max u v))} (m : F G) [Mono m] (χ' : G Ω J) (hχ' : IsPullback m ((isTerminalTerminal J Limits.Types.isTerminalPUnit).from F) χ' (truth J)) :
              χ' = χ m

              A construction of a subobject classifier for sheaf categories. Ω is the sheaf of closed sieves, and truth maps for each object X : C, an element of PUnit to the maximal Sieve X, which is always closed.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem CategoryTheory.Sheaf.classifier_χ {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) {U✝ X✝ : Sheaf J (Type (max u v))} (m : U✝ X✝) (x✝ : Mono m) :
                (classifier J).χ m = χ m

                Sheaf categories on essentially small sites have a subobject classifier.