chore(bump): mathlib 8acb872c311a (2026-09-01) — BLOCKED on verification gate, do not merge - #8577
Open
CBirkbeck wants to merge 2 commits into
Open
chore(bump): mathlib 8acb872c311a (2026-09-01) — BLOCKED on verification gate, do not merge#8577CBirkbeck wants to merge 2 commits into
CBirkbeck wants to merge 2 commits into
Conversation
Daily steady-state bump. 259 mathlib commits; toolchain unchanged at v4.34.0-rc2, so this is a pin-only move (lake update also advanced batteries d54dddc5 → 7e23602c). Cache: `lake exe cache get` fetched 7182/7182 files, 8592 mathlib oleans with matching ileans (8466 Mathlib source modules) — complete. Notable upstream churn touching our call sites: mathlib#43027 "topologicalGroup -> isTopologicalGroup in names" renamed IsTopologicalRing.to_topologicalAddGroup → .isTopologicalAddGroup and IsModuleTopology.topologicalAddGroup → .isTopologicalAddGroup. Both keep deprecated aliases (since 2026-08-21) with identical binder order and arity, so the ~15 `@`-applications in projects/AdicSpaces still elaborate; no statement or call-site change needed for them yet. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…nt changed
Two hard breaks and three deprecation renames from the 259-commit delta.
**mathlib#39703 ("create a `Basic` top folder")** moved
`Mathlib/Logic/Denumerable.lean` to `Mathlib/Basic/Denumerable.lean` with no shim,
so the old module path no longer resolves:
LeanModularForms/HeckeRIngs/GLn/CongruenceHecke/Foundation.lean
Found by comparing all 1097 Mathlib modules we import against the 8466 in the new
Mathlib.lean — exactly one had gone missing.
**`Ideal.absNorm` swapped `[Module.Free ℤ S]` for `[Infinite S]`** (AbsNorm.lean,
`variable [Infinite S]`). No alias, no warning — a synthesis failure. We touch
absNorm in 86 files, but only lemmas over a *generic* ring carrying
`[Module.Free ℤ R]` lose the instance; uses over `𝓞 K` are covered by the global
`CharZero.infinite`. Four files affected. `absNorm` occurs in these *statements*,
so a `haveI` in the proof is too late, and adding `[Infinite R]` to the binders
would change the statements — which a bump may not do. Upstream hit the same wall
and solved it without a global instance, declaring the bridge `local` at each use
site (AbsNorm.lean:355, RelNorm.lean:456-457, FractionalIdeal/Norm.lean:43). Same
idiom adopted here, so all four files keep their statements byte-identical.
**mathlib#43027 (`topologicalGroup` → `isTopologicalGroup`)** and **PowerSeries
`deriv_log` → `derivative_log`** are live deprecated aliases with identical binder
order, so they only warn; call sites adapted anyway (51 + 2 sites). The rewrite was
word-bounded: our own `deriv_log_mul_one_add_X` and `subst_deriv_log_mul_one_add`
share the prefix and are deliberately untouched.
Verified against the new mathlib: LocalizationTopology.lean elaborates with zero
errors (was the site of the confirmed #43027 deprecation warning), and the
`absNorm` repair was reproduced on the real `two_le_absNorm` statement.
Findings and method in .mathlib-quality/bump-changelog.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Daily mathlib bump. Do not merge yet — the verification gate is blocked, see the bottom.
e4b72ca0d01c→8acb872c311a(259 commits)v4.34.0-rc2, unchanged — pin-only bumpd54dddc5→7e23602cam-waf,.mathlib-quality/bump-escalation.mdTwo hard breaks, both fixed — no statement changed
1. mathlib#39703 "create a
Basictop folder" movedMathlib/Logic/Denumerable.leantoMathlib/Basic/Denumerable.leanwith no shim module, so the old path stops resolving. Oneimport, in
LeanModularForms/HeckeRIngs/GLn/CongruenceHecke/Foundation.lean.No name changed, so every declaration-name screen misses this. It was caught by comparing all
1 097
Mathlib.*modules we import against the 8 466 in the newMathlib.lean— exactly onehad gone missing.
2.
Ideal.absNormswapped[Module.Free ℤ S]for[Infinite S](AbsNorm.lean,variable [Infinite S]). No rename, no alias, no warning — just a synthesis failure. Proven rather thanguessed, by reproducing our own binder pattern against the new mathlib:
We touch
absNormin 86 files, which looked alarming. A probe bounded it: uses over𝓞 Karecovered by the global
CharZero.infinite, so only lemmas stated for a generic ring carrying[Module.Free ℤ R]lose the instance — 4 files.absNormoccurs in those statements, so ahaveIin the proof is too late, and adding[Infinite R]to the binders would be a statement change, which a bump may not make. Upstream hitthe same wall and deliberately did not add a global instance — it declares the bridge
localateach use site (
AbsNorm.lean:355,RelNorm.lean:456-457,FractionalIdeal/Norm.lean:43). Sameidiom adopted here, so all four files keep their statements byte-identical.
Three deprecation renames (warning-level), adapted
IsTopologicalRing.to_topologicalAddGroup→.isTopologicalAddGroupandIsModuleTopology.topologicalAddGroup→.isTopologicalAddGroup(mathlib#43027, 51 sites), andPowerSeries.deriv_log→.derivative_log(2 sites). All keep live aliases with identical binderorder, so these only warned. The
deriv_logrewrite was word-bounded — our ownderiv_log_mul_one_add_Xandsubst_deriv_log_mul_one_addshare the prefix and are untouched.Verified
LocalizationTopology.leanelaborates with zero errors (it was the site of the confirmed #43027warning);
DirichletBounds.leanclean; theabsNormrepair reproduced on the realtwo_le_absNormstatement;
Foundation.leanelaborating with no errors reported. Evidence in.mathlib-quality/bump-lsp.json, method and per-finding reasoning inbump-changelog.md.Why this is not ready to merge
AINTLIB has no build CI.
check-runsfor this head returnstotal_count: 0,mainhas nobranch protection, and the only workflows are the Blueprint Pages ones (failing since 2026-06-24).
The
verify-full-buildstep is explicit: if the branch has no CI path, stop and escalate; neversubstitute a local build. So no local build was run and nothing is merged.
Four files elaborated locally shows the known breaks are fixed. It is not a green build over
~3 500 modules — signature, simp-set and instance-resolution changes only surface under full
elaboration. A decision is needed (add CI / grant a one-time local-build exemption and fix
bump-build-green.sh/ re-scope the worker); see beadam-waf.🤖 Generated with Claude Code