Skip to content

Upgrade to Lean 4.30.0 / Mathlib v4.30.0#2

Open
elazarg wants to merge 7 commits into
harfe:mainfrom
elazarg:main
Open

Upgrade to Lean 4.30.0 / Mathlib v4.30.0#2
elazarg wants to merge 7 commits into
harfe:mainfrom
elazarg:main

Conversation

@elazarg

@elazarg elazarg commented Mar 1, 2026

Copy link
Copy Markdown

Summary

Relative to harfe:main, this branch updates the project from Lean v4.21.0-rc3 to Lean/Mathlib v4.30.0 and carries the proof modernization and cleanup work accumulated along the way.

Toolchain and package updates

  • Set the Lean toolchain to leanprover/lean4:v4.30.0.
  • Pin Mathlib to v4.30.0 and mark Lake as using a fixed toolchain.
  • Refresh lake-manifest.json.
  • Document the build and axiom-audit commands in the README.

Proof porting and modernization

  • Port the original proofs through Lean/Mathlib 4.27, 4.29, and 4.30 changes.
  • Close the new implicit hn1 side goals in the cubical Sperner proofs.
  • Update Set.MapsTo and Finset-coercion proofs, including places where rwa no longer unfolds the membership coercions.
  • Replace the rw-on-Iff proof in convex_homeos with a direct .mpr use.
  • Add the needed (R : Real) annotations for tendsto_one_div after the ContinuousSMul change.
  • Replace the removed EquivLike.inv_apply_eq_iff_eq_apply use with an explicit symm_apply_apply proof.
  • Replace deprecated or removed names/forms, including Finset.filter_False, Function.Surjective.injective_of_fintype, div_add_div_same, not_lt_zero', tendsto_finset_sum, and push_neg.
  • Modernize the Nat/Fin arithmetic proofs with omega and remove unused simp arguments flagged by the linter.

Cleanup and theorem surface

  • Remove unused SimpleGraph.DegreeSum and SimpleGraph.Clique imports from the cubical Sperner files.
  • Simplify unit_cube_homeo_unit_ball using interior_pi_set and interior_Icc.
  • Add mathlib-style Function.IsFixedPt / Function.fixedPoints aliases for the cubical and Brouwer fixed-point statements.
  • Add scripts/AxiomAudit.lean for the main fixed-point theorems.

Verification

  • lake exe cache get
  • lake build FixedPointTheorems with no warnings
  • lake env lean scripts/AxiomAudit.lean

The audited statements fixed_point_unit_cube, fixed_point_unit_cube_isFixedPt, brouwer_fixed_point, brouwer_fixed_point_isFixedPt, brouwer_fixedPoints_nonempty, and kakutani_fixed_point depend on propext, Classical.choice, and Quot.sound.

elazarg and others added 6 commits March 1, 2026 14:06
- lean-toolchain: v4.21.0-rc3 -> v4.27.0
- lakefile.toml: pin mathlib to v4.27.0
- Delete lake-manifest.json (Lake regenerates)
- cubical_sperner_prep: add import Mathlib.Tactic; close new
  implicit-arg side goals (hn1) in 5 places
- cubical_sperner: close hn1 side goal; fix simp for Set.MapsTo
- apply_cubical_sperner: annotate tendsto_one_div with (R : Real)
  for new ContinuousSMul typeclass
- kakutani: same tendsto_one_div annotation
- brouwer: replace removed EquivLike.inv_apply_eq_iff_eq_apply
  with explicit symm_apply_apply proof

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace ~37 verbose Nat/Fin arithmetic proofs with `omega`
- Fix 3 deprecated names: Finset.filter_False -> filter_false,
  Function.Surjective.injective_of_fintype -> injective_of_finite,
  div_add_div_same -> add_div
- Remove 13 unused simp arguments flagged by linter
- Net -53 lines, zero warnings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cubical_sperner_prep and cubical_sperner imported
SimpleGraph.DegreeSum and SimpleGraph.Clique but never used them.
Removing saves 21 build jobs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace 25-line affine span argument with 7-line proof using
interior_pi_set and interior_Icc to show the unit cube has
nonempty interior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix proofs broken by v4.29 tactic regressions:
- `rw` on Iff no longer matches in `convex_homeos`; use `.mpr` directly.
- `rwa` with Finset-coe membership no longer unfolds in `cubical_sperner`;
  construct the membership explicitly via `Finset.mem_coe` + `Finset.mem_filter`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@elazarg elazarg changed the title Upgrade to Lean 4.27.0 / Mathlib v4.27.0 Upgrade to Lean 4.29.0 / Mathlib v4.29.0 Apr 19, 2026
@elazarg elazarg changed the title Upgrade to Lean 4.29.0 / Mathlib v4.29.0 Upgrade to Lean 4.30.0 / Mathlib v4.30.0 May 26, 2026
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