chore(bb): pin the sparse masking generator to its machine-checked domain#24067
Draft
AztecBot wants to merge 1 commit into
Draft
chore(bb): pin the sparse masking generator to its machine-checked domain#24067AztecBot wants to merge 1 commit into
AztecBot wants to merge 1 commit into
Conversation
…main The Lean masking theorem (productionTailHalvingSparseMasking_of_staircase, shplemini_lean/ on the companion proof branch) covers tail_halving_support exactly as implemented, for every d >= 3 and every extent with N/2 < extent <= N, collision extents included. Pin that domain with asserts so any caller outside the proven range (e.g. a padded trace whose max_end_index drops to N/2 or below) fails loudly instead of silently running an unproven configuration. Sync SHPLEMINI_ZK_MASKING.md with the machine-checked status section: the exceptional-E selection rule in the setup is unnecessary (the theorem covers the implemented de-dup/tail-fill for every extent), d >= 3 is uniform, and the lemma-to-theorem correspondence is recorded. Extend the support conformance test to sweep the whole proven domain and pin the staircase witness columns, including the collision extents where the generator de-duplicates.
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.
Stacked onto #23224 — aligns the masking-poly generator with the machine-checked theorem (
productionTailHalvingSparseMasking_of_staircase,shplemini_lean/on the companion proof branch), which coverstail_halving_supportexactly as implemented for everyd ≥ 3and every extent withN/2 < extent ≤ N, collision extents included.Three changes:
sparse_masking_poly.hpp— pin the proven domain withBB_ASSERT_GTE(d, 3)andBB_ASSERT_GT(2 * extent, n), and cite the theorem in the generator comment. Any caller outside the proven range (e.g. a padded trace whosemax_end_indexdrops toN/2or below) now fails loudly instead of silently running an unproven configuration. The translator call site passesextent = N(always in domain); the Oink call site passesmax_end_index, which minimal dyadic sizing keeps aboveN/2— if CI trips this assert anywhere, that caller was outside the proof and we want to know.SHPLEMINI_ZK_MASKING.md— add the machine-checked status section: the exceptional-Eselection rule in the setup is unnecessary (the theorem covers the implemented de-dup/tail-fill generator for every extent),d ≥ 3holds uniformly (Appendix B's saturated case is an instance of the main argument), and the lemma-by-lemma correspondence to the Lean theorem names is recorded so the note and the formalization cannot drift silently.shplemini_zk_mask_rank.test.cpp— extend the conformance test to sweep the entire proven domainN/2 < extent ≤ Nfor each test dimension, pinning the staircase witness columns (top pair, level anchors,N/2, column 1) — including the collision extentsE ∈ {B, B+2}where the generator de-duplicates and tail-fills.Created by claudebox · group:
slackbot