Skip to content

Bump to Lean v4.33.0 / Mathlib v4.33.0 - #8

Merged
girving merged 1 commit into
girving:mainfrom
jeremy-kahn-brown-ai:mathlib-v4.33.0
Aug 16, 2026
Merged

Bump to Lean v4.33.0 / Mathlib v4.33.0#8
girving merged 1 commit into
girving:mainfrom
jeremy-kahn-brown-ai:mathlib-v4.33.0

Conversation

@jeremy-kahn-brown-ai

Copy link
Copy Markdown
Contributor

Jeremy Kahn asked me to prepare and submit this PR; it was written by Claude (an AI assistant) working under his direction, and he takes responsibility for it. Context: his group is starting a formalization of progress toward MLC (local connectivity of the Mandelbrot set) that builds on this repo's Böttcher/potential/parameter-map results, and wanted ray on the latest stable toolchain first.

What this is

A port from Lean v4.27.0-rc1 / Mathlib master@2025-12-29 to Lean v4.33.0 / Mathlib v4.33.0 (latest stable release). 68 files, +1312/−572. No mathematical content changed; the module system (module/public/@[expose]) is untouched. The branch mathlib-v4.33.0-waves has the same changes split into 8 stepwise commits with a per-file changelog, if that's easier to review.

Highlights

  • TangentSpace is no longer reducible in Mathlib, which broke the pervasive TangentSpace I z = ℂ defeq usage (~10 files). Rather than set_option backward.isDefEq.respectTransparency false (which Mathlib uses internally for this, but which is a transitional option), the port adds two @[expose] identity bridges tangentToC/tangentOfC in Ray/Manifold/OneDimension.lean and restructures proofs to cross the TangentSpace/ boundary at explicit points. Statements unchanged.
  • Deleted lemmas that now exist in Mathlib with compatible statements (checked before deleting): flip_flip, ContinuousLinearMap.smulRight_zero, AnalyticAt.div_const, Circle.coe_neg + the local Circle negation instances (Circle.neg_def kept and reproved against Mathlib's instance).
  • Renames forced by upstream: limUnderFilter.limUnder, EMetric.ballMetric.eball, NoAtomsNullSingletonClass, and Directed SupersetDirected (· ⊇ ·) in IsPreconnected.directed_iInter (Set's HasSubset-based spelling no longer elaborates; logically equivalent).
  • Stream'/ℕ → X mixed terms are now rejected at implicit transparency: handled with fully Stream'-typed helper lemmas. HasDerivAtFilter's new formulation: bottcher_hasDerivAt_one reproved via hasDerivAt_iff_isLittleO with the same estimates. Repo-wide deprecation sweep (zero deprecation warnings remain).
  • Small new public helpers: push_sum_get/push_prod_get, sum_cons_get/product_cons_get/product_drop_get, tangentToC/tangentOfC.

One deliberate lakefile change to flag

require mathlib @ git "master"@ git "v4.33.0", pinning the release the port was verified against. Happy to revert that line to master if you prefer tracking it — the source fixes themselves are what matters.

Verification

  • lake build green (3,301 jobs), zero sorry, zero deprecation warnings.
  • #print axioms isConnected_mandelbrot = [propext, Classical.choice, Quot.sound].
  • No set_option maxHeartbeats raises, no backward.* options, no native_decide introduced.

We're glad to adjust anything — split differently, rename the bridges, drop the pin change, or rebase onto a newer target.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SKTPd9aJaVimWs9EW5zXnY

@girving

girving commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Can you remove the build.log files? Might want to add something to gitignore to prevent that mistake in future.

@girving

girving commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Otherwise looks great, thank you!

Port from Lean v4.27.0-rc1 / Mathlib master@2025-12-29 to the latest
stable release. 68 files changed; all mathematical statements unchanged
(three renames forced by upstream aside). Highlights:

- TangentSpace is no longer reducible in Mathlib: replaced pervasive
  TangentSpace/C defeq uses with explicit identity bridges
  tangentToC/tangentOfC rather than
  'set_option backward.isDefEq.respectTransparency false'.
- Deleted lemmas that now exist in Mathlib with compatible statements:
  flip_flip, ContinuousLinearMap.smulRight_zero, AnalyticAt.div_const,
  Circle.coe_neg (+ local Circle negation instances; Circle.neg_def
  kept, reproved).
- Renames forced by upstream: limUnder -> Filter.limUnder,
  EMetric.ball -> Metric.eball, NoAtoms -> NullSingletonClass,
  'Directed Superset' -> 'Directed (. >= .)' in
  IsPreconnected.directed_iInter.
- Repo-wide deprecation sweep; module system untouched.
- lakefile: mathlib pin master -> v4.33.0 (happy to revert this line
  if tracking master is preferred).

Verified: lake build green, no sorry, #print axioms
isConnected_mandelbrot = [propext, Classical.choice, Quot.sound].

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SKTPd9aJaVimWs9EW5zXnY
jeremy-kahn-brown-ai added a commit to jeremy-kahn-brown-ai/ray that referenced this pull request Aug 16, 2026
Requested in review of girving#8.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SKTPd9aJaVimWs9EW5zXnY
@jeremy-kahn-brown-ai

Copy link
Copy Markdown
Contributor Author

Done — removed both build logs from the PR branch (amended, so it stays a single clean commit) and added *.log to .gitignore. The mathlib-v4.33.0-waves reference branch got the same cleanup as a follow-up commit. Thanks for the review!

🤖 Generated with Claude Code

https://claude.ai/code/session_01SKTPd9aJaVimWs9EW5zXnY

@girving

girving commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Great, merging. But in future making it be a separate commit is better, so that during review I can see the deltas between commits that I've reviewed.

@girving
girving merged commit 753f713 into girving:main Aug 16, 2026
1 check passed
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.

2 participants