proof: reserve compileValidatedCore helper segment#2124
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b1dccfa6-1271-47ba-85f1-6cdc50549c5c) |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6155a4c0a9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Review (automated, mission d4479a06): approved on content — merge blocked by predecessor stack. Reviewed commit 6155a4c in an isolated worktree against base
Blocker: predecessor landing PR #2122 is still open (base Next action: merge #2122 to main first; GitHub will retarget this PR to |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_68226512-d112-4307-ac4d-fa3ad3147097) |
|
@codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
yulFuncDefName?view plus simp facts for compiler-emitted dynamic-data, checked-arithmetic, panic, and related helper definitions.compileValidatedCoreprebuilt helper segment satisfies the reserved-helper-name invariant, including template intrinsic helpers.InternalTableNamesReserved_of_compileValidatedCore_helpers_append_compiledInternalTable, which removes the caller-supplied helper-segment reserved-name premise from the populated internal-table seam while retaining the existing compiled-internalmapMpremise.Refs #2080
Base / dependency
Stacked on
paloma/issue-2080-populated-table-phase25cbecause #2122 is still open and currently clean/green when inspected. This PR targets that branch.Do not merge until predecessor stack is merged/green.
Validation
git diff --checkPASSlean-slot lake build Compiler.CompilationModel.DynamicDataPASSlean-slot lake build Compiler.Proofs.IRGeneration.ContractPASSpython3 scripts/generate_print_axioms.py --checkPASSpython3 scripts/check_proof_length.pyPASSsorry,admit, oraxiomdeclarations in touched Lean filesRemaining #2080 gate
This closes the prebuilt helper-segment reserved-name proof for the current populated-table seam. The remaining gate is to thread the new helper-segment connector directly through the whole-contract dispatch retarget path from the concrete
compileValidatedCoreoutput, eliminating the remaining manual table-shape plumbing at the final consumer.Note
Low Risk
Changes are confined to Lean proofs and metadata scripts; emitted Yul and compilation logic are unchanged aside from making
compileSpecialEntrypointpublic for the proof layer.Overview
Adds
yulFuncDefName?and@[simp]lemmas tying each compiler-emitted dynamic-data / checked-arithmetic / panic helperYulStmtto its reserved__verity_*(or related) name, so proofs can reason about helper lists without decoding IR by hand.Introduces
DecodedInternalHelperNamesReservedand a mirroredcompileValidatedCoreHelperSegmentdefinition, then proves that segment (including template intrinsic helpers fromcompileTemplateIntrinsicHelpers) satisfies the reserved-helper-name invariant. New connectorsInternalTableNamesReserved_of_compileValidatedCore_helpers_append_compiledInternalTableandInternalTableNamesReserved_of_compileValidatedCoredischargeInternalTableNamesReservedfrom a successfulcompileValidatedCorerun instead of manual helper-segment plumbing.compileFunctionSpec_correct_generic_with_helper_proofs_and_helper_ir_of_body_goal_of_compileValidatedCorenow feedsInternalTableNamesReserved_of_compileValidatedCoreinto the reserved-table seam (replacing thecompiledInternalTablepath).compileSpecialEntrypointis exported (no longerprivate).PrintAxioms.leanandcheck_proof_length.pywhitelist the new long proof theorems.Reviewed by Cursor Bugbot for commit 84dfaa8. Bugbot is set up for automated code reviews on this repo. Configure here.