Subsheaf of types #
We define the subsheaf of a type-valued presheaf.
Main results #
CategoryTheory.Subfunctor.sheafify: The sheafification of a subpresheaf as a subpresheaf. Note that this is a sheaf only when the whole sheaf is.CategoryTheory.Subfunctor.sheafify_isSheaf: The sheafification is a sheafCategoryTheory.Subfunctor.sheafifyLift: The descent of a map into a sheaf to the sheafification.CategoryTheory.GrothendieckTopology.imageSheaf: The image sheaf of a morphism.CategoryTheory.GrothendieckTopology.imageFactorization: The image sheaf as aLimits.imageFactorization.
theorem CategoryTheory.Subfunctor.isSeparated {C : Type u} [Category.{v, u} C] {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) {J : GrothendieckTopology C} (h : Presieve.IsSeparated J F) :
Every subpresheaf of a separated presheaf is itself separated.
def CategoryTheory.Subfunctor.sheafify {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) :
The sheafification of a subpresheaf as a subpresheaf. Note that this is a sheaf only when the whole presheaf is a sheaf.
Equations
- CategoryTheory.Subfunctor.sheafify J G = { obj := fun (U : Cᵒᵖ) => {s : F.obj U | G.sieveOfSection s ∈ J (Opposite.unop U)}, map := ⋯ }
Instances For
theorem CategoryTheory.Subfunctor.le_sheafify {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) :
theorem CategoryTheory.Subfunctor.eq_sheafify {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (h : Presieve.IsSheaf J F) (hG : Presieve.IsSheaf J G.toFunctor) :
theorem CategoryTheory.Subfunctor.sheafify_isSheaf {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (hF : Presieve.IsSheaf J F) :
Presieve.IsSheaf J (sheafify J G).toFunctor
theorem CategoryTheory.Subfunctor.eq_sheafify_iff {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (h : Presieve.IsSheaf J F) :
theorem CategoryTheory.Subfunctor.isSheaf_iff {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (h : Presieve.IsSheaf J F) :
Presieve.IsSheaf J G.toFunctor ↔ ∀ (U : Cᵒᵖ) (s : F.obj U), G.sieveOfSection s ∈ J (Opposite.unop U) → s ∈ G.obj U
theorem CategoryTheory.Subfunctor.sheafify_sheafify {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (h : Presieve.IsSheaf J F) :
noncomputable def CategoryTheory.Subfunctor.sheafifyLift {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (f : G.toFunctor ⟶ F') (h : Presieve.IsSheaf J F') :
The lift of a presheaf morphism onto the sheafification subpresheaf.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem CategoryTheory.Subfunctor.to_sheafifyLift {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (f : G.toFunctor ⟶ F') (h : Presieve.IsSheaf J F') :
theorem CategoryTheory.Subfunctor.to_sheafify_lift_unique {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Functor Cᵒᵖ (Type w)} (G : Subfunctor F) (h : Presieve.IsSheaf J F') (l₁ l₂ : (sheafify J G).toFunctor ⟶ F') (e : CategoryStruct.comp (homOfLe ⋯) l₁ = CategoryStruct.comp (homOfLe ⋯) l₂) :
theorem CategoryTheory.Subfunctor.sheafify_le {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F : Functor Cᵒᵖ (Type w)} (G G' : Subfunctor F) (h : G ≤ G') (hF : Presieve.IsSheaf J F) (hG' : Presieve.IsSheaf J G'.toFunctor) :
def CategoryTheory.Subfunctor.toRangeSheafify {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) {F F' : Functor Cᵒᵖ (Type w)} (f : F' ⟶ F) :
A morphism factors through the sheafification of the image presheaf.
Equations
Instances For
@[simp]
theorem CategoryTheory.Subfunctor.toRangeSheafify_app_hom_apply_coe {C : Type u} [Category.{v, u} C] (J : GrothendieckTopology C) {F F' : Functor Cᵒᵖ (Type w)} (f : F' ⟶ F) (X : Cᵒᵖ) (a✝ : F'.obj X) :
def CategoryTheory.Sheaf.image {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
The image sheaf of a morphism between sheaves, defined to be the sheafification of
image_presheaf.
Equations
- CategoryTheory.Sheaf.image f = { obj := (CategoryTheory.Subfunctor.sheafify J (CategoryTheory.Subfunctor.range f.hom)).toFunctor, property := ⋯ }
Instances For
@[simp]
theorem CategoryTheory.Sheaf.image_obj {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
def CategoryTheory.Sheaf.toImage {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
A morphism factors through the image sheaf.
Equations
Instances For
@[simp]
theorem CategoryTheory.Sheaf.toImage_hom {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
def CategoryTheory.Sheaf.imageι {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
The inclusion of the image sheaf to the target.
Equations
Instances For
@[simp]
theorem CategoryTheory.Sheaf.imageι_hom {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
@[simp]
theorem CategoryTheory.Sheaf.toImage_ι {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
@[simp]
theorem CategoryTheory.Sheaf.toImage_ι_assoc {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') {Z : Sheaf J (Type w)} (h : F' ⟶ Z) :
instance CategoryTheory.instMonoSheafTypeImageι {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
Mono (Sheaf.imageι f)
instance CategoryTheory.instEpiSheafTypeToImage {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
Epi (Sheaf.toImage f)
def CategoryTheory.imageMonoFactorization {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type w)} (f : F ⟶ F') :
The mono factorization given by image_sheaf for a morphism.
Equations
- CategoryTheory.imageMonoFactorization f = { I := CategoryTheory.Sheaf.image f, m := CategoryTheory.Sheaf.imageι f, m_mono := ⋯, e := CategoryTheory.Sheaf.toImage f, fac := ⋯ }
Instances For
noncomputable def CategoryTheory.imageFactorization {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} {F F' : Sheaf J (Type (max v u))} (f : F ⟶ F') :
The mono factorization given by image_sheaf for a morphism is an image.
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance CategoryTheory.instHasImagesSheafType {C : Type u} [Category.{v, u} C] {J : GrothendieckTopology C} :
Limits.HasImages (Sheaf J (Type (max v u)))