-
Notifications
You must be signed in to change notification settings - Fork 166
Closed
o1-labs/o1js-bindings
#261Closed
Copy link
Labels
bugSomething isn't workingSomething isn't working
Description
We're not currently able to prove circuits with Pickles that use the lookup gate with the range check table.
This issue came up on #1284 where we expose a three12bit gadget to do efficient 8-bit range-checks.
Proving fails in the Pickles verifier, for a simple circuit that just uses the RangeCheck0 gate to initialize the range check table
uses the Lookup gate to do one lookup in that table. The lookup gate gets 7 inputs of the form
tableId: 1, (index: x0, value: 0), (index: x1, value: 0), (index: x2, value: 0)
Here's the failing unit test in JS: https://github.com/o1-labs/o1js/pull/1284/files#diff-599f644cb893c5de091b4415d99c9be3fa37cd1417ba6fb2c13305ab20a2ac2e
Internal thread: https://o1-labs.slack.com/archives/C04KLCZ9N2D/p1701681667599599
Some investigation / work started:
- @mrmr1993 thinks that this is caused by the mismatch between the expected number of columns (2) and the actual number of columns (1). He made a PR to address that: Allow all zeros in table ID and table entries proof-systems#1272
- @jackryanservia found that when building o1js with that PR included, the observed bug is not fixed
- @dannywillems started investigation and created a tangentially related PR: [o1js-main] Add missing runtime table commits in wrap verifier. MinaProtocol/mina#14662
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working