English
The germ of a section corresponds under the stalk-to-fiber map to the value of the section at the base point.
Русский
Жемчужина секции в точке сопоставляется образу под стержнем-волокном к значению секции в базовой точке.
LaTeX
$$$ stalkToFiber\\; P\\; x \\; ( (subsheafToTypes\\; P).presheaf.germ\\; U\\; x\\; hx\\; f ) = f.1\\langle x, hx\\rangle. $$$
Lean4
/-- The functions satisfying a local predicate satisfy the sheaf condition.
-/
theorem isSheaf (P : LocalPredicate T) : (subpresheafToTypes P.toPrelocalPredicate).IsSheaf :=
Presheaf.isSheaf_of_isSheafUniqueGluing_types _ fun ι U sf sf_comp ↦ by
-- We show the sheaf condition in terms of unique gluing.
-- First we obtain a family of sections for the underlying sheaf of functions,
-- by forgetting that the predicate holds
let sf' (i : ι) : (presheafToTypes X T).obj (op (U i)) := (sf i).val
have sf'_comp : (presheafToTypes X T).IsCompatible U sf' := fun i j ↦
congr_arg Subtype.val
(sf_comp i j)
-- So, we can obtain a unique gluing
obtain ⟨gl, gl_spec, gl_uniq⟩ := (sheafToTypes X T).existsUnique_gluing U sf' (by exact sf'_comp)
refine ⟨⟨gl, ?_⟩, ?_, ?_⟩
· -- Our first goal is to show that this chosen gluing satisfies the
-- predicate. Of course, we use locality of the predicate.
apply P.locality
rintro
⟨x, mem⟩
-- Once we're at a particular point `x`, we can select some open set `x ∈ U i`.
choose i hi using Opens.mem_iSup.mp mem
use U i, hi, Opens.leSupr U i
convert (sf i).property using 1
exact gl_spec i
· exact fun i ↦ Subtype.ext (gl_spec i)
· intro gl' hgl'
refine Subtype.ext ?_
exact gl_uniq gl'.1 fun i ↦ congr_arg Subtype.val (hgl' i)