Skip to content

feat(Algebra/IndZariski): fill bijectiveOnStalks_algebraMap and of_colimitPresentation sorries#92

Open
chrisflav wants to merge 5 commits into
chrisflav:masterfrom
chrisflav-agents:pr/ind-zariski-bijective-on-stalks
Open

feat(Algebra/IndZariski): fill bijectiveOnStalks_algebraMap and of_colimitPresentation sorries#92
chrisflav wants to merge 5 commits into
chrisflav:masterfrom
chrisflav-agents:pr/ind-zariski-bijective-on-stalks

Conversation

@chrisflav
Copy link
Copy Markdown
Owner

Summary

Closes the two remaining sorrys in Proetale/Algebra/IndZariski.lean for ind-Zariski-related stalk bijectivity statements.

  • Adds the helper Algebra.IndZariski.bijectiveOnStalks_of_colimitPresentation:
    if S = colim_i A_i as R-algebras and each R → A_i is bijective on stalks,
    then so is R → S.
  • Uses it to close Algebra.IndZariski.bijectiveOnStalks_algebraMap
    (Stacks 096T): every ind-Zariski algebra map identifies local rings.
  • Closes Algebra.IndZariski.of_colimitPresentation: a filtered colimit of
    ind-Zariski algebras is ind-Zariski, via iff_ind_isLocalIso and
    ObjectProperty.ind_ind applied to CommAlgCat.isLocalIso_le_isFinitelyPresentable.
  • Adds \leanok to the proof block of the corresponding blueprint lemma
    thm:ind-Zariski-identifies-local-rings.

The code is extracted from the archon branch.

Test plan

  • lake build succeeds on the full project.

…_colimitPresentation`

Adds the helper `Algebra.IndZariski.bijectiveOnStalks_of_colimitPresentation`
showing that bijectivity on stalks transports along a filtered colimit
presentation, then uses it to close the two open sorries in the file:

* `Algebra.IndZariski.bijectiveOnStalks_algebraMap` (Stacks 096T): every
  ind-Zariski algebra map is bijective on stalks.
* `Algebra.IndZariski.of_colimitPresentation`: a filtered colimit of
  ind-Zariski algebras is ind-Zariski.

Also adds `\leanok` to the proof block of the corresponding blueprint lemma
`thm:ind-Zariski-identifies-local-rings`.
@chrisflav chrisflav added the archon Upstreamed from `archon` branch label May 22, 2026
Comment thread Proetale/Algebra/IndZariski.lean Outdated
@chrisflav
Copy link
Copy Markdown
Owner Author

orchestra polish

Apply review-code style guide: drop redundant variable redeclarations
that shadow the section variables, replace the `change` tactic with a
term-mode `DFunLike.congr_fun (congrArg ...)`, move `have` binders to
the left of the colon, and add the missing docstring on
`of_colimitPresentation`.

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

orchestra address review

…ete-category API

Address PR chrisflav#92 review feedback:

- Refactor `bijectiveOnStalks_of_colimitPresentation` and
  `bijectiveOnStalks_algebraMap` to use the `Algebra.BijectiveOnStalks` class
  rather than the `(algebraMap …).BijectiveOnStalks` ring-hom property.
- Replace usages of `Types.jointly_surjective_of_isColimit` and
  `Types.FilteredColimit.isColimit_eq_iff'` by the corresponding
  `Concrete.isColimit_exists_rep` and `IsColimit.eq_iff'` from
  `Mathlib.CategoryTheory.Limits.ConcreteCategory.{Basic,Filtered}`.
- Update call sites in `WContractible` and `WLocalization/Basic` to convert
  between the algebra and ring-hom forms via `RingHom.bijectiveOnStalks_algebraMap`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@chrisflav chrisflav added awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. and removed awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. labels May 23, 2026
…` namespace

`bijectiveOnStalks_of_colimitPresentation` is a general fact about filtered
colimits and `Algebra.BijectiveOnStalks`; it has no `IndZariski` hypothesis.
Move it from `Algebra.IndZariski` to `Algebra.BijectiveOnStalks` and rename
to `of_colimitPresentation` so the qualified name reflects its content, and
update the single in-file call site.
@chrisflav chrisflav removed the awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. label May 23, 2026
Comment thread Proetale/Algebra/IndZariski.lean Outdated
Comment on lines +301 to +308
/-- If `S` is a filtered colimit of `R`-algebras `Aᵢ` and each `R → Aᵢ` is bijective on
stalks, then so is `R → S`. -/
lemma of_colimitPresentation {ι : Type u} [SmallCategory ι] [IsFiltered ι]
(P : ColimitPresentation ι (CommAlgCat.of R S))
(h : ∀ i, Algebra.BijectiveOnStalks R (P.diag.obj i)) :
Algebra.BijectiveOnStalks R S := by
refine ⟨fun p hp ↦ ?_⟩
have hcomm (i : ι) (r : R) :
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.

Show first that the localization of a filtered colimit of rings at a prime ideal is the filtered colimit of the localizations. Then show that the Localization.localRingHom map here is induced by the stalk maps on the components. Deduce from this that the map is bijective.

@chrisflav chrisflav added the awaiting-orchestra A reviewer has made suggestions that are waiting to be implemented by orchestra. label May 26, 2026
…eOnStalks`

Address review feedback on PR chrisflav#92 by dropping the redundant
`_algebraMap` suffix and updating the blueprint `\lean` label.
@chrisflav chrisflav added awaiting-orchestra A reviewer has made suggestions that are waiting to be implemented by orchestra. and removed awaiting-orchestra A reviewer has made suggestions that are waiting to be implemented by orchestra. labels May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

archon Upstreamed from `archon` branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant