Documentation

Mathlib.CategoryTheory.Sites.SheafHom

Internal hom of sheaves

In this file, given two sheaves F and G on a site (C, J) with values in a category A, we define a sheaf of types sheafHom F G which sends X : C to the type of morphisms between the restrictions of F and G to the categories Over X.

We first define presheafHom F G when F and G are presheaves Cᵒᵖ ⥤ A and show that it is a sheaf when G is a sheaf.

TODO:

Given two presheaves F and G on a category C with values in a category A, this presheafHom F G is the presheaf of types which sends an object X : C to the type of morphisms between the "restrictions" of F and G to the category Over X.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem CategoryTheory.presheafHom_map_app {C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u'} [CategoryTheory.Category.{v', u'} A] {F : CategoryTheory.Functor Cᵒᵖ A} {G : CategoryTheory.Functor Cᵒᵖ A} {X : C} {Y : C} {Z : C} (f : Z Y) (g : Y X) (h : Z X) (w : CategoryTheory.CategoryStruct.comp f g = h) (α : (CategoryTheory.presheafHom F G).obj { unop := X }) :
    ((CategoryTheory.presheafHom F G).map g.op α).app { unop := CategoryTheory.Over.mk f } = α.app { unop := CategoryTheory.Over.mk h }

    Equational lemma for the presheaf structure on presheafHom. It is advisable to use this lemma rather than dsimp [presheafHom] which may result in the need to prove equalities of objects in an Over category.

    The sections of the presheaf presheafHom F G identify to morphisms F ⟶ G.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem CategoryTheory.PresheafHom.isAmalgamation_iff {C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u'} [CategoryTheory.Category.{v', u'} A] {F : CategoryTheory.Functor Cᵒᵖ A} {G : CategoryTheory.Functor Cᵒᵖ A} {X : C} (S : CategoryTheory.Sieve X) (x : CategoryTheory.Presieve.FamilyOfElements (CategoryTheory.presheafHom F G) S.arrows) (hx : x.Compatible) (y : (CategoryTheory.presheafHom F G).obj { unop := X }) :
      x.IsAmalgamation y ∀ (Y : C) (g : Y X) (hg : S.arrows g), y.app { unop := CategoryTheory.Over.mk g } = (x g hg).app { unop := CategoryTheory.Over.mk (CategoryTheory.CategoryStruct.id Y) }
      theorem CategoryTheory.PresheafHom.IsSheafFor.exists_app {C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u'} [CategoryTheory.Category.{v', u'} A] {F : CategoryTheory.Functor Cᵒᵖ A} {G : CategoryTheory.Functor Cᵒᵖ A} {X : C} {S : CategoryTheory.Sieve X} (hG : Y : C⦄ → (f : Y X) → CategoryTheory.Limits.IsLimit (G.mapCone (CategoryTheory.Sieve.pullback f S).arrows.cocone.op)) (x : CategoryTheory.Presieve.FamilyOfElements (CategoryTheory.presheafHom F G) S.arrows) (hx : x.Compatible) {Y : C} (g : Y X) :
      ∃ (φ : F.obj { unop := Y } G.obj { unop := Y }), ∀ {Z : C} (p : Z Y) (hp : S.arrows (CategoryTheory.CategoryStruct.comp p g)), CategoryTheory.CategoryStruct.comp φ (G.map p.op) = CategoryTheory.CategoryStruct.comp (F.map p.op) ((x (CategoryTheory.CategoryStruct.comp p g) hp).app { unop := CategoryTheory.Over.mk (CategoryTheory.CategoryStruct.id Z) })
      noncomputable def CategoryTheory.PresheafHom.IsSheafFor.app {C : Type u} [CategoryTheory.Category.{v, u} C] {A : Type u'} [CategoryTheory.Category.{v', u'} A] {F : CategoryTheory.Functor Cᵒᵖ A} {G : CategoryTheory.Functor Cᵒᵖ A} {X : C} {S : CategoryTheory.Sieve X} (hG : Y : C⦄ → (f : Y X) → CategoryTheory.Limits.IsLimit (G.mapCone (CategoryTheory.Sieve.pullback f S).arrows.cocone.op)) (x : CategoryTheory.Presieve.FamilyOfElements (CategoryTheory.presheafHom F G) S.arrows) (hx : x.Compatible) {Y : C} (g : Y X) :
      F.obj { unop := Y } G.obj { unop := Y }

      Auxiliary definition for presheafHom_isSheafFor.

      Equations
      Instances For

        The underlying presheaf of sheafHom F G. It is isomorphic to presheafHom F.1 G.1 (see sheafHom'Iso), but has better definitional properties.

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

          The canonical isomorphism sheafHom' F G ≅ presheafHom F.1 G.1.

          Equations
          Instances For

            Given two sheaves F and G on a site (C, J) with values in a category A, this sheafHom F G is the sheaf of types which sends an object X : C to the type of morphisms between the "restrictions" of F and G to the category Over X.

            Equations
            Instances For

              The sections of the sheaf sheafHom F G identify to morphisms F ⟶ G.

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