You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the reusable project-level infrastructure for admissible G-sites and G-ringed spaces, using mathlib's category-theoretic sites API; and
its rigid-analytic instantiation: the admissible G-topology and locally G-ringed structure needed for rigid spaces.
This replaces hand-written cover, restriction, gluing, stalk, and germ fields such as those in the closed prototype PR #33. The reusable layer should be shared with the Berkovich analytic-domain instantiation in #38; it must not duplicate abstractions already supplied by mathlib.
Ownership boundary
This issue owns:
the minimal reusable adapter layer, beyond mathlib's existing APIs, for domain sites equipped with points;
sheaves of rings or K-algebras on such sites;
admissible-neighborhood stalks, germs, local-ring conditions, and local morphisms;
identity, composition, and category packaging for G-ringed and locally G-ringed spaces;
the rigid admissible-open category, rigid covering families, and their instantiation of that layer.
#38 should instantiate the reusable layer from this issue, not independently reimplement it. #40 should supply analytic sections to that instantiated site and derive its ordinary-open sheaf from the resulting analytic structure.
Required mathlib API
Build on:
CategoryTheory.GrothendieckTopology and CategoryTheory.Sieve;
CategoryTheory.Presieve and CategoryTheory.Pretopology;
CategoryTheory.Pretopology.toGrothendieck;
CategoryTheory.Sheaf J CommRingCat (or an appropriate category of commutative K-algebras);
Presieve.IsSheaf / Presheaf.IsSheaf;
the continuous-functor/site APIs for morphisms where applicable;
Opens.grothendieckTopology, Opens.pretopology, and mathlib's ordinary LocallyRingedSpace as reference implementations, while keeping an admissible topology distinct from the ordinary topology of point sets.
Reusable G-site/G-ringed-space scope
Identify the minimal inputs needed from a thin category of domains and its admissible covering Pretopology; do not wrap or restate mathlib's topology axioms without need.
Package a G-ringed-space-style object from such a site and a mathlib sheaf of commutative rings or commutative K-algebras.
Derive sections and restriction maps from the sheaf functor and gluing from its IsSheaf property.
Define stalks as colimits over admissible neighborhoods of a point, or through a mathematically equivalent site-point construction, with canonical germ maps.
Define the local-ring condition and morphisms inducing local homomorphisms on stalks.
Provide identity, composition, and category structures reusable by the rigid and Berkovich instantiations.
Rigid admissible-site instantiation
Define the small category, or small basis category, of rigid admissible opens/domains with morphisms given by admissible inclusions.
Provide pullbacks corresponding to intersections/base change.
Encode rigid admissible covering families as a Precoverage or preferably a Pretopology.
Prove the isomorphism, pullback-stability, and transitivity axioms from the actual rigid-cover definitions.
Define the resulting GrothendieckTopology through the reusable layer and Pretopology.toGrothendieck.
Prove bridge lemmas between indexed covering families and membership of the generated Presieve/Sieve in the topology. These lemmas should support the comparator's AdmissibleOpen.IsCover API with index types in Type (u + 1).
Expose adapters for rigid StructureSheaf.Sections, restrictions, germs, stalks, and AnalyticMorphismData without changing comparator declarations prematurely.
No duplicate of mathlib's Grothendieck-topology axioms.
No custom sheaf-gluing field where mathlib's Sheaf/IsSheaf API applies.
No arbitrary stored stalks or germ maps.
No finite-subcover definition masquerading as admissibility.
Universe levels support the comparator API.
Production modules contain no sorry and are directly imported by Rigid.lean.
Include focused examples showing that indexed rigid admissible covers yield covering sieves and that a structure sheaf satisfies the corresponding sheaf condition.
./scripts/check_root_imports.sh, ./scripts/check_challenge_development.sh, and lake build Rigid pass.
Dependencies and follow-up
The rational/Laurent cover foundations in Rigid/AffinoidSpectrum/RationalCover.lean may provide the first generating covering families. Issue #22 remains blocked until this site and locally G-ringed-space layer is available. #38 is the corresponding Berkovich-domain instantiation; #40 supplies its affinoid analytic sheaf. Genuine local-affinoid atlases and canonical affinoid rigid spaces remain subsequent work in #22 and #25.
Goal
Define both:
This replaces hand-written cover, restriction, gluing, stalk, and germ fields such as those in the closed prototype PR #33. The reusable layer should be shared with the Berkovich analytic-domain instantiation in #38; it must not duplicate abstractions already supplied by mathlib.
Ownership boundary
This issue owns:
K-algebras on such sites;This issue does not own:
AnalyticDomainor its domain-specific admissible covers: Instantiate the G-site framework for Berkovich analytic domains #38;#38 should instantiate the reusable layer from this issue, not independently reimplement it. #40 should supply analytic sections to that instantiated site and derive its ordinary-open sheaf from the resulting analytic structure.
Required mathlib API
Build on:
CategoryTheory.GrothendieckTopologyandCategoryTheory.Sieve;CategoryTheory.PresieveandCategoryTheory.Pretopology;CategoryTheory.Pretopology.toGrothendieck;CategoryTheory.Sheaf J CommRingCat(or an appropriate category of commutativeK-algebras);Presieve.IsSheaf/Presheaf.IsSheaf;Opens.grothendieckTopology,Opens.pretopology, and mathlib's ordinaryLocallyRingedSpaceas reference implementations, while keeping an admissible topology distinct from the ordinary topology of point sets.Reusable G-site/G-ringed-space scope
Pretopology; do not wrap or restate mathlib's topology axioms without need.K-algebras.IsSheafproperty.Rigid admissible-site instantiation
Precoverageor preferably aPretopology.GrothendieckTopologythrough the reusable layer andPretopology.toGrothendieck.Presieve/Sievein the topology. These lemmas should support the comparator'sAdmissibleOpen.IsCoverAPI with index types inType (u + 1).StructureSheaf.Sections, restrictions, germs, stalks, andAnalyticMorphismDatawithout changing comparator declarations prematurely.Acceptance criteria
Sheaf/IsSheafAPI applies.sorryand are directly imported byRigid.lean../scripts/check_root_imports.sh,./scripts/check_challenge_development.sh, andlake build Rigidpass.Dependencies and follow-up
The rational/Laurent cover foundations in
Rigid/AffinoidSpectrum/RationalCover.leanmay provide the first generating covering families. Issue #22 remains blocked until this site and locally G-ringed-space layer is available. #38 is the corresponding Berkovich-domain instantiation; #40 supplies its affinoid analytic sheaf. Genuine local-affinoid atlases and canonical affinoid rigid spaces remain subsequent work in #22 and #25.