Upgrade to Lean v4.30.0 + mathlib v4.30.0 (stable)#133
Merged
Conversation
Bumps the toolchain and mathlib pin from v4.30.0-rc2 to the stable v4.30.0 tags. No source changes in this commit; any build fixups follow separately. - lean-toolchain: leanprover/lean4:v4.30.0-rc2 -> v4.30.0 - lakefile.toml: mathlib rev v4.30.0-rc2 -> v4.30.0 - lake-manifest.json: regenerated via lake update mathlib (mathlib c5ea0035; aesop/Qq/Cli -> v4.30.0; proofwidgets v0.0.98 -> v0.0.99; batteries -> main pin per mathlib manifest; plausible/importGraph bumped; checkdecls/LeanSearchClient unchanged)
- zero_le (ENNReal) no longer takes its argument explicitly (2 sites) - tendsto_setIntegral_of_L1' now takes AEStronglyMeasurable f instead of Integrable f - integral_finset_sum -> integral_finsetSum (deprecation in this file)
- finset_sum/finset_prod camelCase renames: integral_finsetSum, integrable_finsetSum, condExp_finsetSum, tendsto_finsetSum, tendsto_finsetProd; Measurable.ennreal_tsum -> Measurable.tsum - @[measurability, fun_prop] on Measurable lemmas -> @[fun_prop] (the measurability attribute is deprecated for function-property statements); the 3 MeasurableSet lemmas keep @[measurability] since fun_prop does not accept set-measurability statements
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.
Summary
Careful upgrade from Lean/mathlib v4.30.0-rc2 to the stable v4.30.0 tags, following the same pattern as the previous bump (#17): one pure bump commit, one fixup commit, one deprecation sweep.
Bump (
chore(bump))lean-toolchain:leanprover/lean4:v4.30.0-rc2→v4.30.0lakefile.toml: mathlibrev→v4.30.0(c5ea0035)lake-manifest.jsonregenerated vialake update mathlib. Dependency movements: aesop/Qq/Cli →v4.30.0tags, proofwidgetsv0.0.98→v0.0.99, batteries →mainpin per mathlib's manifest, plausible/importGraph bumped; checkdecls and LeanSearchClient unchanged.Fixups (
fix(bump)) — one file, three root causesAll breakage was confined to
Exchangeability/DeFinetti/ViaL2/CesaroConvergence/L2.lean:zero_le(ENNReal/canonically-ordered) no longer takes its argument explicitly — 2 sites.tendsto_setIntegral_of_L1'now takesAEStronglyMeasurable f μwhere it previously tookIntegrable f μ.integral_finset_sumdeprecation in the same file (renamed in the sweep family below).Deprecation sweep (
chore) — 45 warnings → 0integral_finset_sum→integral_finsetSum,integrable_finset_sum→integrable_finsetSum,condExp_finset_sum→condExp_finsetSum,tendsto_finset_sum→tendsto_finsetSum,tendsto_finset_prod→tendsto_finsetProd,Measurable.ennreal_tsum→Measurable.tsum.@[measurability, fun_prop]onMeasurablelemmas →@[fun_prop]. The 3MeasurableSetlemmas keep@[measurability]. Nomeasurabilitytactic call sites exist in the repo, so this is tag hygiene only.Why the attribute churn? v4.30.0 reimplements mathlib's
measurabilitytactic on top offun_prop(seeMathlib/Tactic/Measurability.lean). The@[measurability]attribute is now a compatibility shim that branches on the statement's shape:Measurable f,AEMeasurable f,StronglyMeasurable f,AEStronglyMeasurable f μ) it silently registers the lemma as@[fun_prop]and warns "Use@[fun_prop]instead" — the old spelling is just an alias there, so this PR writes the tag the machinery actually uses.MeasurableSet sstatements — set-level facts outsidefun_prop's function-composition model — it still registers an aesop rule in theMeasurablerule set, with no deprecation. Tagging these with@[fun_prop]is a hard error (unrecognized function property, verified during this upgrade), which is whyextendSet_measurable,cylinder_measurable, andfirstRCylinder_measurable_ambientkeep@[measurability].Docs
DEVELOPMENT_CHRONOLOGY.mdPhase 11 bullet notes the stable bump.Import graph
No regeneration needed:
lake exe graph --to Exchangeabilityoutput matches the committed artifacts exactly (103 nodes / 152 edges, zero node or edge diff) — fixups touched proof bodies and attributes only, no import lines.Verification
lake build: clean, zero warnings (was 45 post-bump)sorry_analyzer: 0 sorries#print axioms deFinetti:[propext, Classical.choice, Quot.sound]— exact line, so the CI axiom gate added in Quality pass: comment hygiene, helper consolidation, golf, docs+CI axiom check #132 keeps passinglake exe checkdecls blueprint/lean_decls: passpython3 blueprint/check_blueprint.py: 52/52 consistent