Skip to content

Bump nanobruijn to e6e112a (OSNF)#28

Merged
nomeata merged 2 commits intoleanprover:masterfrom
nomeata:joachim/bump-nanobruijn-osnf
Apr 10, 2026
Merged

Bump nanobruijn to e6e112a (OSNF)#28
nomeata merged 2 commits intoleanprover:masterfrom
nomeata:joachim/bump-nanobruijn-osnf

Conversation

@nomeata
Copy link
Copy Markdown
Collaborator

@nomeata nomeata commented Apr 10, 2026

Summary

  • Bump nanobruijn to e6e112a which adds OSNF (Outermost-Shift Normal Form) parse-time normalization
  • Expressions with fvar_lb > 0 are stored as Shift(fvar_lb, core) where core has fvar_lb = 0
  • Shift-equivalent expressions share cores in the DAG, improving TC cache hit rates across binder depths
  • A/B/A test on full Mathlib: -7% user time (1175s → 1095s), +18% RSS (7.9GB → 9.3GB)

Test plan

  • Passes Init (54K declarations)
  • Passes full Mathlib (630K declarations, 0 errors)
  • Arena CI

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nomeata nomeata force-pushed the joachim/bump-nanobruijn-osnf branch from 2983a16 to e995e94 Compare April 10, 2026 17:01
@nomeata nomeata merged commit ab38e7a into leanprover:master Apr 10, 2026
3 checks 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.

1 participant