feat(RingTheory/Valuation): define the valuation spectrum and its topology#38009
feat(RingTheory/Valuation): define the valuation spectrum and its topology#38009CBirkbeck wants to merge 15 commits intoleanprover-community:masterfrom
Conversation
…ology
Define the valuation spectrum `Spv A` of a commutative ring as the type
of valuative relations on `A`, following Definition 4.1 of Wedhorn's
*Adic Spaces*. Equip it with the topology generated by basic open sets
`{ v | v(f) ≤ v(s) ∧ v(s) ≠ 0 }`.
## New files
* `ValuativeRel/Comap.lean`: Pullback of a `ValuativeRel` along a ring
homomorphism, and the lemma that units cannot map to zero.
* `ValuationSpectrum.lean`: The valuation spectrum with:
- basic open sets and their properties
- contravariant functoriality (`comap`) and its continuity
- support map `Spv A → Spec A` and its continuity
- quotient lifting and topological embedding
- localization lifting and range characterization
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PR summary bc7bce2142Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…cstrings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rings The module docstring already references Wedhorn; no need to repeat it on individual declarations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Both files were missing the `module` keyword, `public import`, and `@[expose] public section` required by the Lean 4 module system. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
riccardobrasca
left a comment
There was a problem hiding this comment.
I stopped around line 150 of ValuationSpectrum.lean. In my opinion something is not optimal with the design, there too many let and @. I will have a closer look after the various easy comments are taken into account.
Anyway this is surely a great addition!
| theorem not_vle_zero_of_isUnit [ValuativeRel A] {f : A} (hu : IsUnit f) : | ||
| ¬ f ≤ᵥ (0 : A) := by |
There was a problem hiding this comment.
| theorem not_vle_zero_of_isUnit [ValuativeRel A] {f : A} (hu : IsUnit f) : | |
| ¬ f ≤ᵥ (0 : A) := by | |
| theorem not_vle_zero_of_isUnit [ValuativeRel A] {f : A} (hu : IsUnit f) : ¬ f ≤ᵥ (0 : A) := by |
Also, maybe a name that allows dot notation is a good idea.
Comap.lean: - @[reducible] → @[implicit_reducible] - use ≤ᵥ notation in comap field body - comap_vle now returns ↔ / Iff.rfl (these are Props) - rename ValuativeRel.not_vle_zero_of_isUnit → IsUnit.not_vle_zero (enables dot notation hu.not_vle_zero) - golf not_vle_zero proof to a single simpa ValuationSpectrum.lean: - fix Wedhorn bib key (wedhorn_adic) - basicOpen_mul_subset: refactor with refine + simpa - docstrings: Spv(φ) → comap φ, v ∈ Spv A → v : Spv A - comap_id, comap_comp: by ext; rfl - instIsPrimeSupp: term-mode inferInstanceAs - add @[simp] rfl lemma vle_ofValuation and eliminate change in supp_ofValuation - replace let := with letI := for typeclass instance bindings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add ValuativeRel.comap_id and ValuativeRel.comap_comp in Comap.lean as named rfl lemmas. Use them in ValuationSpectrum.comap_id / comap_comp via congr_arg (·.vle), rather than closing the underlying goal with a bare rfl. Addresses reviewer comment on line 117. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
Define the valuation spectrum
Spv Aof a commutative ring and equip it with the topology generated by basic open sets, following Wedhorn's Adic Spaces. Also define the pullback (comap) of aValuativeRelalong a ring homomorphism. This is preparation for later defining adic spaces.Note the code was generated by claude code, but I have cleaned up and pre-reviewed the work.