-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Witness generation for block machines connected via permutations #1075
Merged
Conversation
This file contains 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
georgwiese
force-pushed
the
block-machine-permutation
branch
from
February 21, 2024 08:47
a8e49d4
to
755cfda
Compare
georgwiese
force-pushed
the
no-default-block
branch
2 times, most recently
from
February 21, 2024 09:58
1c5c0c9
to
fdfdc79
Compare
georgwiese
force-pushed
the
block-machine-permutation
branch
2 times, most recently
from
February 22, 2024 14:36
ed61d06
to
7d58195
Compare
georgwiese
force-pushed
the
dont-log-errors
branch
from
February 22, 2024 17:37
3eef4e1
to
eb67bc5
Compare
georgwiese
force-pushed
the
block-machine-permutation
branch
from
February 23, 2024 13:37
883e9cd
to
00d0f2a
Compare
georgwiese
commented
Feb 23, 2024
Comment on lines
+208
to
+215
.map(|s| { | ||
current_rows | ||
.evaluate(s) | ||
.ok() | ||
.and_then(|affine_expression| affine_expression.constant_value()) | ||
.ok_or(EvalError::Generic("Selector is not 1!".to_string())) | ||
}) | ||
.unwrap_or(Ok(T::one()))?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Turns a panic into an error. This happens in the block_lookup_or_permutation
test:
- A block is computed by a permutation using
selector2
- A loop is detected
- When checking the next identity using
selector1
,process_link()
on the last row. Butselector1
is unknown at this point. - The error is caught by the loop detection code and the executor reverts to the normal solving algorithm.
georgwiese
force-pushed
the
block-machine-permutation
branch
from
February 23, 2024 16:28
47568e4
to
876665b
Compare
georgwiese
changed the title
[WIP] Witness generation for block machines connected via permutations
Witness generation for block machines connected via permutations
Feb 23, 2024
chriseth
reviewed
Feb 29, 2024
chriseth
reviewed
Feb 29, 2024
chriseth
reviewed
Feb 29, 2024
chriseth
reviewed
Feb 29, 2024
chriseth
reviewed
Feb 29, 2024
georgwiese
force-pushed
the
block-machine-permutation
branch
from
February 29, 2024 14:19
876665b
to
f3e3a8c
Compare
georgwiese
force-pushed
the
block-machine-permutation
branch
from
February 29, 2024 15:05
f3e3a8c
to
4eb8644
Compare
chriseth
approved these changes
Feb 29, 2024
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.
Fixes #1074
This PR introduces the following changes:
Processor::process_outer_query()
, we make sure that the selectors in the latch row are set to 1. This does nothing if the selector is a fixed column, but if it is a witness column, it would be set to 1.