Lookup selector polynomials fix with chunking#3541
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes an issue in Kimchi’s prover where lookup selector polynomials were treated as single-chunk during batched opening, which breaks correctness when polynomial chunking is enabled (i.e., when the domain exceeds max_poly_size).
Changes:
- Update lookup selector polynomials to use
non_hiding(num_chunks)so their blinder “chunk count” matches the chunked opening logic. - Add a changelog entry describing the chunking-related lookup selector fix.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
kimchi/src/prover.rs |
Ensures lookup selector polynomials participate in the opening proof with the correct number of chunks when chunking is active. |
CHANGELOG.md |
Documents the fix under “Unreleased”. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Fixes an issue in kimchi’s prover where lookup selector polynomials were opened with incorrect blinder chunking metadata when polynomial chunking is enabled, and documents the fix in the changelog.
Changes:
- Update lookup selector polynomial openings to use
non_hiding(num_chunks)instead ofnon_hiding(1)when chunking is in use. - Add an Unreleased changelog entry describing the chunking+lookup selector fix.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
kimchi/src/prover.rs |
Ensures lookup selector polynomials use the correct number of blinder chunks during opening when num_chunks > 1. |
CHANGELOG.md |
Documents the fix under Unreleased. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if let Some(runtime_lookup_table_selector) = &lcs.runtime_selector { | ||
| polynomials.push(( | ||
| evaluations_form(runtime_lookup_table_selector), | ||
| non_hiding(1), | ||
| non_hiding(num_chunks), | ||
| )) |
Same as #3534 but landing to master independently for ease of tracking.