Skip to content

Lookup selector polynomials fix with chunking#3541

Merged
querolita merged 3 commits intomasterfrom
chunking-fix-lookup
Mar 16, 2026
Merged

Lookup selector polynomials fix with chunking#3541
querolita merged 3 commits intomasterfrom
chunking-fix-lookup

Conversation

@querolita
Copy link
Copy Markdown
Member

Same as #3534 but landing to master independently for ease of tracking.

@querolita querolita requested a review from Trivo25 March 12, 2026 17:20
Trivo25
Trivo25 previously approved these changes Mar 13, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 of non_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.

Comment on lines 1402 to 1406
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),
))
@querolita querolita merged commit 1fee3cb into master Mar 16, 2026
41 of 42 checks passed
@querolita querolita deleted the chunking-fix-lookup branch March 16, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants