Skip to content

Upgrade to Lean 4.27.0 / Mathlib v4.27.0#2

Open
elazarg wants to merge 4 commits intoharfe:mainfrom
elazarg:main
Open

Upgrade to Lean 4.27.0 / Mathlib v4.27.0#2
elazarg wants to merge 4 commits intoharfe:mainfrom
elazarg:main

Conversation

@elazarg
Copy link

@elazarg elazarg commented Mar 1, 2026

Summary

  • Upgrade from Lean 4.21.0-rc3 to 4.27.0 and Mathlib to v4.27.0
  • Fix all compilation errors from the upgrade (8 proof fixes across 5 files)
  • Modernize proofs: replace verbose arithmetic with omega, fix deprecated names, eliminate all warnings
  • Simplify unit_cube_homeo_unit_ball using interior_pi_set (25 lines → 7 lines)
  • Remove unused SimpleGraph imports

Details

Upgrade fixes:

  • cubical_sperner_prep.lean / cubical_sperner.lean: Lean 4.27 no longer auto-resolves implicit {hn1} args — added explicit exact hn1
  • brouwer.lean: EquivLike.inv_apply_eq_iff_eq_apply removed from Mathlib — replaced with congrArg/rwa
  • apply_cubical_sperner.lean / kakutani.lean: new ContinuousSMul ℚ≥0 typeclass requirement — fixed tendsto_one_div calls

Modernization:

  • ~37 verbose Nat.lt_of_/Nat.le_of_ chains replaced with omega
  • Deprecated names fixed (Finset.sum_nonneg' → Finset.sum_nonneg, div_add_div_same → add_div, etc.)
  • All unused simp args removed

elazarg and others added 4 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>
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