Skip to content

feat(Algebra/WLocalization/Ideal): fill sorries for w-localization wrt ideal#40

Open
chrisflav wants to merge 3 commits into
chrisflav:masterfrom
chrisflav-agents:fill-wlocalization-ideal-sorries
Open

feat(Algebra/WLocalization/Ideal): fill sorries for w-localization wrt ideal#40
chrisflav wants to merge 3 commits into
chrisflav:masterfrom
chrisflav-agents:fill-wlocalization-ideal-sorries

Conversation

@chrisflav
Copy link
Copy Markdown
Owner

Fill most sorries in Proetale/Algebra/WLocalization/Ideal.lean, closing #39.

What was proved

  • isWLocalRing_generalization_one: Generalization 1 I is w-local when A is w-local, using the embedding Spec(Generalization 1 I) → Spec A with specialization-stable range.
  • IsWLocalRing.zeroLocus_map_algebraMap_generalization_one_eq: the zero locus of the mapped ideal equals the closed points, using the embedding lemma and the generalization hull structure.
  • Ideal.WLocalization.indZariski: the ideal w-localization is ind-Zariski (by transitivity through WLocalization A).
  • zeroLocus_map_algebraMap_eq_closedPoints: the main zero locus characterization for I.WLocalization.
  • algebraMap_specComap_preimage_closedPoints_eq [Stacks 097A (2)(d)]: proved by reducing to zeroLocus_map_algebraMap_eq_closedPoints.

Remaining sorries

  • quotientMap_algebraMap_bijective [Stacks 097A (2)(a)]: requires faithful flatness and surjectivity results from Basic.lean which are currently sorry'd.
  • The residue-field-algebraicity step in zeroLocus_map_algebraMap_eq_closedPoints (that WLocalization A has algebraic residue field extensions over A): depends on sorry'd Algebra.IndZariski.bijectiveOnStalks_algebraMap in IndZariski.lean.

…t ideal

Fill most sorries in `Proetale/Algebra/WLocalization/Ideal.lean`, proving:
- `isWLocalRing_generalization_one`: w-local structure is preserved by Generalization 1 I
- `IsWLocalRing.zeroLocus_map_algebraMap_generalization_one_eq`: the zero locus of the
  mapped ideal equals the closed points
- `Ideal.WLocalization.indZariski`: the ideal w-localization is ind-Zariski
- `zeroLocus_map_algebraMap_eq_closedPoints`: main zero locus characterization
- `algebraMap_specComap_preimage_closedPoints_eq`: [Stacks 097A (2)(d)]

Two sorries remain: `quotientMap_algebraMap_bijective` [097A (2)(a)] and the
residue-field-algebraicity step in `zeroLocus_map_algebraMap_eq_closedPoints`,
both depending on sorry'd upstream infrastructure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@chrisflav
Copy link
Copy Markdown
Owner Author

orchestra address review: Fill the missing sorrys, it is fine to use sorry'd lemmas from other files.

- Fill `quotientMap_algebraMap_bijective` (Stacks 097A (2)(a)) by
  composing two bijections through `WLocA/J`:
  - α : A/I → WLocA/J via new helper
    `WLocalization.quotientMap_algebraMap_bijective_of_ideal` (sorry'd)
  - β : WLocA/J → I.WLocalization/(J.map(...)) via `IsLocalization.atUnits`
    on the image submonoid (which consists of units in WLocA/J).
  - Identify codomains via `Ideal.quotEquivOfEq`.
- Fill the residue-field-algebraicity sorry in
  `zeroLocus_map_algebraMap_eq_closedPoints` by chaining
  `IndZariski → IndEtale → isSeparable_residueField → IsAlgebraic`.
- Add `Ideal.WLocalization.isLocalization` instance.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Comment thread Proetale/Algebra/WLocalization/Basic.lean Outdated
@chrisflav
Copy link
Copy Markdown
Owner Author

orchestra address review

The helper `WLocalization.quotientMap_algebraMap_bijective_of_ideal` was
false in general (e.g. I = 0 gives A → WLocA bijective). Per the
blueprint (lemma:closed-closed-points-tilde-w-local), the correct
hypothesis is `V(I) ⊆ closedPoints A`. Propagate this hypothesis to:

- `WLocalization.quotientMap_algebraMap_bijective_of_ideal`
- `Ideal.WLocalization.quotientMap_algebraMap_bijective`
- `Ideal.WLocalization.bijOn_zeroLocus_map`

Add an algebraicity-of-residue-fields hypothesis to
`faithfullyFlat_map_algebraMap` (matching `algebraMap_specComap_preimage_closedPoints_eq`)
to derive `V(I·B) ⊆ closedPoints B` for the call to `bijOn_zeroLocus_map`.
Update the consumer in `WContractible.lean` accordingly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Comment on lines +270 to +275
lemma quotientMap_algebraMap_bijective_of_ideal (I : Ideal A)
(hI : zeroLocus I ⊆ closedPoints (PrimeSpectrum A)) :
Function.Bijective
(Ideal.quotientMap (I.map (algebraMap A (WLocalization A)))
(algebraMap A (WLocalization A)) I.le_comap_map) :=
sorry
Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now prove this sorry.

@chrisflav
Copy link
Copy Markdown
Owner Author

orchestra address review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant