Skip to content

Chores: Updating repos and Lean version support - #80

Merged
amit9oct merged 3 commits into
mainfrom
chores/updating-repos
Nov 11, 2026
Merged

amit9oct merged 3 commits into
mainfrom
chores/updating-repos

Conversation

@amit9oct

Copy link
Copy Markdown
Collaborator

Add Lean 4.36.0 support to tactic parser with backward compatibility
Lean reworked the String type around UTF-8 slices (landing by v4.35) and
removed the whole-String spellings String.trim, trimLeft, trimRight,
dropRightWhile, takeRightWhile, and dropRight, which the TacticParser source
uses. Add existence-gated shims in Compat.lean that reintroduce each spelling
only when the corresponding String.* constant is absent from the environment,
so toolchains that still provide the core definition use it unchanged while
newer ones get the shim. Shims use only primitives stable across the supported
range (String.toList, String.push, Char.isWhitespace, List ops).

Also widen the version regex in tactic_parser.py to accept release-candidate
suffixes (e.g. 4.36.0-rc2), and import Compat into Base64.lean so the shims are
in scope there.

Verified: full build on 4.27.0, 4.30.0, 4.35.0, and 4.36.0-rc2; end-to-end data
extraction clean on batteries (4.36.0-rc2) and miniF2F (4.27.0).

amit9oct and others added 3 commits November 10, 2026 20:32
Lean reworked the String type around UTF-8 slices (landing by v4.35) and
removed the whole-String spellings String.trim, trimLeft, trimRight,
dropRightWhile, takeRightWhile, and dropRight, which the TacticParser source
uses. Add existence-gated shims in Compat.lean that reintroduce each spelling
only when the corresponding String.* constant is absent from the environment,
so toolchains that still provide the core definition use it unchanged while
newer ones get the shim. Shims use only primitives stable across the supported
range (String.toList, String.push, Char.isWhitespace, List ops).

Also widen the version regex in tactic_parser.py to accept release-candidate
suffixes (e.g. 4.36.0-rc2), and import Compat into Base64.lean so the shims are
in scope there.

Verified: full build on 4.27.0, 4.30.0, 4.35.0, and 4.36.0-rc2; end-to-end data
extraction clean on batteries (4.36.0-rc2) and miniF2F (4.27.0).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- batteries: bump to v4.36.0-rc2
- cslib: bump to v4.36.0-rc2
- Mathlib (repl-mathlib-tests): repin mathlib require and lean-toolchain to
  v4.36.0-rc2 and regenerate lake-manifest.json
- miniF2F-lean4: point submodule at amit9oct fork on Lean 4.27.0
- clever: bump to latest version

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@amit9oct
amit9oct merged commit ffdb4b3 into main Nov 11, 2026
2 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