Skip to content

feat(Algebra/WLocalization): fill sorries for Stratification.Index and ProdStrata.map#115

Open
chrisflav wants to merge 4 commits into
chrisflav:masterfrom
chrisflav-agents:pr/wlocalization-stratification-index
Open

feat(Algebra/WLocalization): fill sorries for Stratification.Index and ProdStrata.map#115
chrisflav wants to merge 4 commits into
chrisflav:masterfrom
chrisflav-agents:pr/wlocalization-stratification-index

Conversation

@chrisflav
Copy link
Copy Markdown
Owner

Fill four sorry placeholders in the Stratification.Index / ProdStrata section of Proetale/Algebra/WLocalization/Basic.lean:

  • WLocalization.Stratification.Index.restrict.disjoint and union_eq: the restriction of a disjoint union decomposition F = F' ⨿ F'' to a subset E ⊆ F.
  • WLocalization.Stratification.Index.iUnion_stratum: the strata Z(E', E'') cover Spec A (blueprint lemma:subset-stratification).
  • WLocalization.ProdStrata.mapsTo_map_specComap: the transition map between stratification products sends V(I_F) to V(I_E) (blueprint lemma:finite-stratification-map-closed).

Two helper lemmas are introduced:

  • WLocalization.Generalization.map_mem_ideal_of_strata: if I ≤ I' and f ∣ f', the canonical map Generalization f I → Generalization f' I' sends the kernel ideal f I into the kernel ideal f' I'.
  • WLocalization.ProdStrata.map_apply: the index-wise formula for the transition map between stratification products.

Adds \leanok to the corresponding blueprint proofs in blueprint/src/chapters/local-structure.tex.

Test plan

  • lake env lean Proetale/Algebra/WLocalization/Basic.lean reports no new errors introduced by these changes; the remaining diagnostics are pre-existing on master (the bijectiveOnStalks_algebraMap/indZariski sorries downstream of this section).

🤖 Generated with Claude Code

…and `ProdStrata.map`

Fill four `sorry` placeholders in `Proetale/Algebra/WLocalization/Basic.lean`:

* `Stratification.Index.restrict.disjoint` and `union_eq`: the restriction
  of a disjoint union decomposition `F = F' ⨿ F''` to a subset `E ⊆ F`.
* `Stratification.Index.iUnion_stratum`: the strata `Z(E', E'')` cover
  `Spec A` (Stacks blueprint `lemma:subset-stratification`).
* `ProdStrata.mapsTo_map_specComap`: the transition map between
  stratification products sends `V(I_F)` to `V(I_E)` (blueprint
  `lemma:finite-stratification-map-closed`).

Two auxiliary lemmas are added:

* `Generalization.map_mem_ideal_of_strata`: if `I ≤ I'` and `f ∣ f'`, the
  transition map `Generalization f I → Generalization f' I'` sends the
  kernel ideal into the kernel ideal.
* `ProdStrata.map_apply`: the index-wise formula for the transition map
  between stratification products.

Adds `\leanok` to the corresponding blueprint proofs in
`blueprint/src/chapters/local-structure.tex`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@chrisflav chrisflav added archon Upstreamed from `archon` branch awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. labels May 28, 2026
chrisflav and others added 3 commits May 28, 2026 13:27
`Proetale/Mathlib/CategoryTheory/Sites/PrecoverageGenerating.lean` was
added in chrisflav#112 but the project index file `Proetale.lean` was not
regenerated. Run `lake exe mk_all --git` to add the missing import so
that validation passes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Restate `map_mem_ideal_of_strata` as ideal containment `map_ideal_le`.
- Factor the localized-quotient zero-iff into
  `toLocQuotient_algebraMap_eq_zero_iff`.
- Replace open-coded Finset partition in `iUnion_stratum` with
  `Finset.disjoint_filter_filter_not` / `Finset.filter_union_filter_not_eq`.
- Add `Stratification.Index.function_restrict_dvd_function` and
  `ideal_restrict_le` so the divisibility / span obligations have names.
- Extract `ProdStrata.locClosedSubset_subset_restrict` and reuse it in
  `map` and `map_apply`; tag `map_apply` as `@[simp]`.
- Add `ProdStrata.map_ideal_le` and rewrite `mapsTo_map_specComap` to
  use it, removing the `change` step.
- Consolidate `classical` annotations in `Stratification.Index.restrict`.
Address the `linter.style.show` warnings turned errors by the validation
script's `--wfail` flag.
@chrisflav chrisflav removed the awaiting-auto-review This PR is scheduled to receive an automatic review through orchestra. label May 28, 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