Documentation

TauCeti.Topology.Sheaves.Flasque.Locality

Flasqueness is a local property #

A sheaf of sets is flasque when all of its restriction maps are surjective. This file proves that this can be checked locally: if every point of X has an open neighbourhood W such that every restriction map F(V) → F(U) with U ⊆ V ⊆ W is surjective, then every restriction map of F is surjective.

The proof is the classical Zorn argument. Fix U ⊆ V and a section s over U, and order the extensions of s to opens between U and V by extension of domain. A chain of extensions glues to an upper bound, so there is a maximal extension t over some O. Given a point x ∈ V, choose a neighbourhood W as above; the restriction of t to O ∩ V ∩ W extends to V ∩ W because restrictions inside W are surjective, and the two sections glue to an extension over O ∪ (V ∩ W). Maximality forces x ∈ O, hence O = V.

The argument is carried out for presheaves of types satisfying the sheaf condition, and is then transported to sheaves valued in a concrete category whose forgetful functor preserves limits, such as sheaves of modules or of abelian groups. For such sheaves Mathlib's TopCat.Sheaf.IsFlasque asks that all restriction maps be epimorphisms; surjective restrictions are epimorphisms, so the locality statement yields flasqueness. If the forgetful functor moreover preserves epimorphisms, flasqueness is shown to be equivalent to flasqueness of the restrictions to the members of some open cover; since flasqueness is invariant under isomorphism, a sheaf which is locally isomorphic to flasque sheaves is then flasque.

Main declarations #

References #

A presheaf isomorphic to a flasque presheaf is flasque.

If every restriction map of a sheaf of types inside some neighbourhood of each point is surjective, then every restriction map is surjective.

If every restriction map of a sheaf inside some neighbourhood of each point is surjective, then every restriction map is surjective.

theorem TopCat.Sheaf.isFlasque_of_locally_flasque {X : TopCat} {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {FC : C → C → Type u_2} {CC : C → Type u_3} [(X Y : C) → FunLike (FC X Y) (CC X) (CC Y)] [CategoryTheory.ConcreteCategory C FC] [CategoryTheory.Limits.PreservesLimitsOfSize.{u, u, v_1, u_3, u_1, u_3 + 1} (CategoryTheory.forget C)] (F : Sheaf C X) (h : ∀ (x : ↑X), ∃ (W : TopologicalSpace.Opens ↑X), x ∈ W ∧ ∀ ⦃U V : TopologicalSpace.Opens ↑X⦄ (hUV : U ≤ V), V ≤ W → Function.Surjective ⇑(CategoryTheory.ConcreteCategory.hom (F.obj.map (CategoryTheory.homOfLE hUV).op))) :

A sheaf is flasque as soon as every point has an open neighbourhood inside which all restriction maps are surjective.

The restriction of a flasque sheaf along an open embedding is flasque.

Flasqueness of a sheaf is local: a sheaf is flasque if and only if every point has an open neighbourhood W such that the restriction of the sheaf to W is flasque.

A sheaf is flasque if every point has an open neighbourhood W on which the sheaf is isomorphic to a flasque sheaf on W.

Flasque sheaves on X with values in A, as a class of objects.

Instances For
    @[simp]

    A sheaf satisfies isFlasque exactly when its underlying presheaf is flasque.