Repository navigation
BS-26: the LRE reader and the facts of a render as language-1.2 source (#269) - #446
Closed
humuhumu33 wants to merge 3 commits into
Closed
humuhumu33 wants to merge 3 commits into
humuhumu33 wants to merge 3 commits into
Conversation
… facts of a render The second slice of the lexicon as source (#269), on BS-25: the row (register 479 -> 480, the §31 table, the RP-07 check and its case), the scenario, the §17.23 prose, the CHANGELOG entry, the README's claim, the CI part, and the case, conformance_bs_26, which holds LexiconLre.parseLre and renderFacts to lexicon::lre::parse and the walkers of Render on hand-built vectors that reach every error of the reader and the limit on nesting, on every math render of the committed lexicon entries, and on seeded renders and edits, with 20 planted defects each named by its vector. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bootstrap/src/LexiconLre.lex.tex over LexiconLse: parseLre converts the tree the reader of BS-25 gives with a work stack, and renderFacts walks a render once over an explicit stack the host bounds by the node count, collecting the slots, tokens, references, operator names, the first math-only construct, and the first script-operand problem. Lean verifies the module and each root is eligible with exactly its declared effects, neither of them recursion. The entrypoint, the lock, the two export roots, and the project README follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The case's first run on BS-25 over release/v0.4: the evaluator agrees on 885 reads and 535 walks, rustc on 5,020 runs, and all 20 plants are detected after one plant was given a vector that reaches it. The case stops at the stack-bound step until the regeneration commits the two packages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Landed in #480 (merge |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Part of #269: the reader of LexLean Rendering Expressions and the facts of a render (
BS-26,lexicon/lre.rs:parseand the walkers ofRender) as language-1.2 source, with rootsparseLreandrenderFactsofLexiconLre. It is the second slice of the lexicon.Draft, stacked on #445 (
BS-25).LexiconLrereads withLexiconLse's tokenizer and tree reader, aslre.rsreads withlse::read_tree, so it lands after #445.Design
parseLreconverts the tree the reader ofBS-25gives with a work stack that visits the operands of a form in the oracle's order and builds the form when they are on the value stack.renderFactswalks a render once, pre-order over an explicit stack whose steps the host bounds by the node count, and returns in one pass what the entry validator reads: the slots, renderer tokens, form and self-form references, and operator names in occurrence order, the first math-only construct, and the first script or fraction operand that renders nothing or is a bare script, with the oracle's message. Neither root admitsrecursion. The checks of those facts against the entry and the glossary stay in the host.Evidence
Measured on the normative host on #445 over
release/v0.4at4dc5b803c:mathrenders, evaluatorLean verifies the module, and the eligibility report gives each root exactly
allocationandoverflow. The first run found one plant whose vector did not reach it; VERIFICATION.md records it.Gates at the head
cargo fmt --check,validate-model(480 IDs),validate-spec-links(480 rows), clippy on the workspace with-D warnings, and the 17 RP cases pass.CI is expected red until the regeneration
The
bootstrap/parse_lreandbootstrap/render_factspackages are not committed, soconformance_bs_26stops at the stack-bound step after the differentials above have agreed. The regeneration owes them, the lock, the bootstrapexpected/records, and the recount of the bootstrap count cases. It is queued on the normative host after #445's.🤖 Generated with Claude Code