You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
parse rendered Lean names component-by-component so dots inside guillemet-quoted identifiers remain data
use the same semantic components for manifest names, source paths, ilean paths, declaration suffixes, and generated helper namespace prefixes
cover the real Formal Conjectures shape FormalConjectures.Arxiv.«0912.2382».CurlingNumberConjecture
mirror the path rule in the byte-golden harness and exercise the generator schema version 1 JSON context lookup
This fixes the quoted-module-path issue reported while integrating the FC100 importer in google-deepmind/formal-conjectures#4951. It does not change the frozen generator schema version 1 request/response contract.
The scanner consumes module/declaration names that Lean has already accepted; it intentionally does not claim to be a replacement Lean identifier parser. Quoted components may contain dots and an inner opening guillemet, while the closing guillemet terminates the component quote as specified by Lean's module/name syntax.
Integration check: I applied #1 and then this PR to a fresh a726789 worktree. Both cherry-picks applied without conflict. The combined tree passes the full build, the active-option regression invoked by the JSON contract, the quoted-name executable, strict contract tests, both 10-file byte-golden fixtures, Python bytecode, actionlint, and diff checks. So #1 can merge first without a semantic integration problem; I will rebase this branch onto the resulting main commit if GitHub requires it.
The combined #1 + #2 generator has now passed the complete FC100 gate at formal-conjectures#4951 head 54abfe5: 100/100 import/verify/generate and 98/100 target compilation, with only the two pre-existing cross-pin drift cases. Both real quoted Arxiv modules compile. Report digests and full details are recorded in the linked FC PR and lean-eval tracker.
Pre-review cleanup a114d8a clears all Ruff findings in this PR’s touched Python harnesses (stale shebang/executable mismatches, import ordering, and the explicit stdout/stderr pipe form). The quoted-name implementation is unchanged. lake build, dedicated module-path executable, strict JSON contract test, Python bytecode, Ruff, actionlint, and diff checks pass; #1 plus #2 plus the new inline-scoped-command regression also compose and pass locally at combined commit 28f767a.
Fresh post-cleanup golden parity also passed against clean LeanEval 21c6c02178e14cccc54b6e90e4836d1ca0e9c7e6: two_plus_two 10/10 files and noncomputable_hole_example 10/10 files match byte-for-byte. The disposable verification worktree was then removed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
FormalConjectures.Arxiv.«0912.2382».CurlingNumberConjectureThis fixes the quoted-module-path issue reported while integrating the FC100 importer in google-deepmind/formal-conjectures#4951. It does not change the frozen generator schema version 1 request/response contract.
Verification
lake buildlake build test_module_pathslake env .lake/build/bin/test_module_pathspython3 tests/scripts/contract.pypython3 tests/scripts/golden.py /home/kim/worktrees/lean-eval-overhaul/kernel-shadow-benchmarkpython3 -m py_compile tests/scripts/*.pyactionlint .github/workflows/ci.ymlgit diff --checkContract note
The scanner consumes module/declaration names that Lean has already accepted; it intentionally does not claim to be a replacement Lean identifier parser. Quoted components may contain dots and an inner opening guillemet, while the closing guillemet terminates the component quote as specified by Lean's module/name syntax.