Sheafed spaces
Introduces the category of topological spaces equipped with a sheaf (taking values in an
arbitrary target category C
.)
We further describe how to apply functors and natural transformations to the values of the presheaves.
structure
algebraic_geometry.SheafedSpace
(C : Type u)
[category_theory.category C]
[category_theory.limits.has_products C] :
Type (max u (v+1))
- to_PresheafedSpace : algebraic_geometry.PresheafedSpace C
- sheaf_condition : c.to_PresheafedSpace.presheaf.sheaf_condition
A SheafedSpace C
is a topological space equipped with a sheaf of C
s.
@[instance]
def
algebraic_geometry.SheafedSpace.coe_carrier
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C] :
Equations
def
algebraic_geometry.SheafedSpace.sheaf
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
Extract the sheaf C (X : Top)
from a SheafedSpace C
.
Equations
- X.sheaf = {presheaf := X.to_PresheafedSpace.presheaf, sheaf_condition := X.sheaf_condition}
@[simp]
theorem
algebraic_geometry.SheafedSpace.as_coe
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
@[simp]
theorem
algebraic_geometry.SheafedSpace.mk_coe
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(carrier : Top)
(presheaf : Top.presheaf C carrier)
(h : {carrier := carrier, presheaf := presheaf}.presheaf.sheaf_condition) :
↑{to_PresheafedSpace := {carrier := carrier, presheaf := presheaf}, sheaf_condition := h} = carrier
@[instance]
def
algebraic_geometry.SheafedSpace.topological_space
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
Equations
The trivial punit
valued sheaf on any topological space.
Equations
- algebraic_geometry.SheafedSpace.punit X = {to_PresheafedSpace := {carrier := (algebraic_geometry.PresheafedSpace.const X punit.star).carrier, presheaf := (algebraic_geometry.PresheafedSpace.const X punit.star).presheaf}, sheaf_condition := {carrier := (algebraic_geometry.PresheafedSpace.const X punit.star).carrier, presheaf := (algebraic_geometry.PresheafedSpace.const X punit.star).presheaf}.presheaf.sheaf_condition_punit}
@[instance]
def
algebraic_geometry.SheafedSpace.category_theory.category
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C] :
Equations
- algebraic_geometry.SheafedSpace.category_theory.category = show category_theory.category (category_theory.induced_category (algebraic_geometry.PresheafedSpace C) algebraic_geometry.SheafedSpace.to_PresheafedSpace), from category_theory.induced_category.category algebraic_geometry.SheafedSpace.to_PresheafedSpace
def
algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C] :
Forgetting the sheaf condition is a functor from SheafedSpace C
to PresheafedSpace C
.
@[simp]
theorem
algebraic_geometry.SheafedSpace.id_base
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
theorem
algebraic_geometry.SheafedSpace.id_c
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
@[simp]
theorem
algebraic_geometry.SheafedSpace.id_c_app
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C)
(U : (topological_space.opens ↥(X.to_PresheafedSpace.carrier))ᵒᵖ) :
(𝟙 X).c.app U = category_theory.eq_to_hom _
@[simp]
theorem
algebraic_geometry.SheafedSpace.comp_base
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
{X Y Z : algebraic_geometry.SheafedSpace C}
(f : X ⟶ Y)
(g : Y ⟶ Z) :
@[simp]
theorem
algebraic_geometry.SheafedSpace.comp_c_app
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
{X Y Z : algebraic_geometry.SheafedSpace C}
(α : X ⟶ Y)
(β : Y ⟶ Z)
(U : (topological_space.opens ↥(Z.to_PresheafedSpace.carrier))ᵒᵖ) :
(α ≫ β).c.app U = β.c.app U ≫ α.c.app (opposite.op ((topological_space.opens.map β.base).obj (opposite.unop U))) ≫ (Top.presheaf.pushforward.comp X.to_PresheafedSpace.presheaf α.base β.base).inv.app U
def
algebraic_geometry.SheafedSpace.forget
(C : Type u)
[category_theory.category C]
[category_theory.limits.has_products C] :
The forgetful functor from SheafedSpace
to Top
.
Equations
- algebraic_geometry.SheafedSpace.forget C = {obj := λ (X : algebraic_geometry.SheafedSpace C), ↑X, map := λ (X Y : algebraic_geometry.SheafedSpace C) (f : X ⟶ Y), f.base, map_id' := _, map_comp' := _}
def
algebraic_geometry.SheafedSpace.restrict
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
{U : Top}
(X : algebraic_geometry.SheafedSpace C)
(f : U ⟶ ↑X)
(h : open_embedding ⇑f) :
The restriction of a sheafed space along an open embedding into the space.
Equations
- X.restrict f h = {to_PresheafedSpace := {carrier := (X.to_PresheafedSpace.restrict f h).carrier, presheaf := (X.to_PresheafedSpace.restrict f h).presheaf}, sheaf_condition := λ (ι : Type v) (𝒰 : ι → topological_space.opens ↥({carrier := (X.to_PresheafedSpace.restrict f h).carrier, presheaf := (X.to_PresheafedSpace.restrict f h).presheaf}.carrier)), ((category_theory.limits.is_limit.postcompose_inv_equiv (Top.presheaf.sheaf_condition_equalizer_products.diagram.iso_of_open_embedding h 𝒰) (Top.presheaf.sheaf_condition_equalizer_products.fork X.to_PresheafedSpace.presheaf (Top.presheaf.sheaf_condition_equalizer_products.cover.of_open_embedding h 𝒰))).inv_fun (X.sheaf_condition (Top.presheaf.sheaf_condition_equalizer_products.cover.of_open_embedding h 𝒰))).of_iso_limit (Top.presheaf.sheaf_condition_equalizer_products.fork.iso_of_open_embedding h 𝒰).symm}
def
algebraic_geometry.SheafedSpace.Γ
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C] :
The global sections, notated Gamma.
@[simp]
theorem
algebraic_geometry.SheafedSpace.Γ_obj
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : (algebraic_geometry.SheafedSpace C)ᵒᵖ) :
theorem
algebraic_geometry.SheafedSpace.Γ_obj_op
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
(X : algebraic_geometry.SheafedSpace C) :
@[simp]
theorem
algebraic_geometry.SheafedSpace.Γ_map
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
{X Y : (algebraic_geometry.SheafedSpace C)ᵒᵖ}
(f : X ⟶ Y) :
theorem
algebraic_geometry.SheafedSpace.Γ_map_op
{C : Type u}
[category_theory.category C]
[category_theory.limits.has_products C]
{X Y : algebraic_geometry.SheafedSpace C}
(f : X ⟶ Y) :