Skyscraper (pre)sheaves #
A skyscraper (pre)sheaf 𝓕 : (Pre)Sheaf C X is the (pre)sheaf with value A at point p₀ that is
supported only at open sets contain p₀, i.e. 𝓕(U) = A if p₀ ∈ U and 𝓕(U) = * if p₀ ∉ U
where * is a terminal object of C. In terms of stalks, 𝓕 is supported at all specializations
of p₀, i.e. if p₀ ⤳ x then 𝓕ₓ ≅ A and if ¬ p₀ ⤳ x then 𝓕ₓ ≅ *.
Main definitions #
skyscraperPresheaf:skyscraperPresheaf p₀ Ais the skyscraper presheaf at pointp₀with valueA.skyscraperSheaf: the skyscraper presheaf satisfies the sheaf condition.
Main statements #
skyscraperPresheafStalkOfSpecializes: ify ∈ closure {p₀}then the stalk ofskyscraperPresheaf p₀ AatyisA.skyscraperPresheafStalkOfNotSpecializes: ify ∉ closure {p₀}then the stalk ofskyscraperPresheaf p₀ Aatyis*the terminal object.
TODO: generalize universe level when calculating stalks, after generalizing universe level of stalk.
A skyscraper presheaf is a presheaf supported at a single point: if p₀ ∈ X is a specified
point, then the skyscraper presheaf 𝓕 with value A is defined by U ↦ A if p₀ ∈ U and
U ↦ * if p₀ ∉ A where * is some terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Taking skyscraper presheaf at a point is functorial: c ↦ skyscraper p₀ c defines a functor by
sending every f : a ⟶ b to the natural transformation α defined as: α(U) = f : a ⟶ b if
p₀ ∈ U and the unique morphism to a terminal object in C if p₀ ∉ U.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Taking skyscraper presheaf at a point is functorial: c ↦ skyscraper p₀ c defines a functor by
sending every f : a ⟶ b to the natural transformation α defined as: α(U) = f : a ⟶ b if
p₀ ∈ U and the unique morphism to a terminal object in C if p₀ ∉ U.
Equations
- skyscraperPresheafFunctor p₀ = { toPrefunctor := { obj := skyscraperPresheaf p₀, map := fun {X_1 Y : C} => SkyscraperPresheafFunctor.map' p₀ }, map_id := ⋯, map_comp := ⋯ }
Instances For
The cocone at A for the stalk functor of skyscraperPresheaf p₀ A when y ∈ closure {p₀}
Equations
- skyscraperPresheafCoconeOfSpecializes p₀ A h = { pt := A, ι := { app := fun (U : (TopologicalSpace.OpenNhds y)ᵒᵖ) => CategoryTheory.eqToHom ⋯, naturality := ⋯ } }
Instances For
The cocone at A for the stalk functor of skyscraperPresheaf p₀ A when y ∈ closure {p₀} is a
colimit
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∈ closure {p₀}, then the stalk of skyscraperPresheaf p₀ A at y is A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cocone at * for the stalk functor of skyscraperPresheaf p₀ A when y ∉ closure {p₀}
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cocone at * for the stalk functor of skyscraperPresheaf p₀ A when y ∉ closure {p₀} is a
colimit
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∉ closure {p₀}, then the stalk of skyscraperPresheaf p₀ A at y is isomorphic to a
terminal object.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If y ∉ closure {p₀}, then the stalk of skyscraperPresheaf p₀ A at y is a terminal object
Equations
- skyscraperPresheafStalkOfNotSpecializesIsTerminal p₀ A h = CategoryTheory.Limits.IsTerminal.ofIso CategoryTheory.Limits.terminalIsTerminal (skyscraperPresheafStalkOfNotSpecializes p₀ A h).symm
Instances For
The skyscraper presheaf supported at p₀ with value A is the sheaf that assigns A to all opens
U that contain p₀ and assigns * otherwise.
Equations
- skyscraperSheaf p₀ A = { val := skyscraperPresheaf p₀ A, cond := ⋯ }
Instances For
Taking skyscraper sheaf at a point is functorial: c ↦ skyscraper p₀ c defines a functor by
sending every f : a ⟶ b to the natural transformation α defined as: α(U) = f : a ⟶ b if
p₀ ∈ U and the unique morphism to a terminal object in C if p₀ ∉ U.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If f : 𝓕.stalk p₀ ⟶ c, then a natural transformation 𝓕 ⟶ skyscraperPresheaf p₀ c can be
defined by: 𝓕.germ p₀ ≫ f : 𝓕(U) ⟶ c if p₀ ∈ U and the unique morphism to a terminal object
if p₀ ∉ U.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If f : 𝓕 ⟶ skyscraperPresheaf p₀ c is a natural transformation, then there is a morphism
𝓕.stalk p₀ ⟶ c defined as the morphism from colimit to cocone at c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit in Presheaf.stalkFunctor ⊣ skyscraperPresheafFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
The counit in Presheaf.stalkFunctor ⊣ skyscraperPresheafFunctor
Equations
- StalkSkyscraperPresheafAdjunctionAuxs.counit p₀ = { app := fun (c : C) => (skyscraperPresheafStalkOfSpecializes p₀ c ⋯).hom, naturality := ⋯ }
Instances For
skyscraperPresheafFunctor is the right adjoint of Presheaf.stalkFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- instIsLeftAdjointPresheafInstCategoryPresheafStalkFunctor p₀ = { right := skyscraperPresheafFunctor p₀, adj := skyscraperPresheafStalkAdjunction p₀ }
Taking stalks of a sheaf is the left adjoint functor to skyscraperSheafFunctor
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.