Skip to content
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

wip short-circuiting proof composition #164

Draft
wants to merge 1 commit into
base: compatible
Choose a base branch
from

Conversation

L-as
Copy link
Collaborator

@L-as L-as commented Jun 18, 2024

Doesn't compile, unfinished.

The idea is to make an abstraction over "statements", such that they are either done by a recursive proof verification or by doing some minor logic in-circuit.

For the action state extension statement, it would be short-circuiting if source and target are only N actions from each other (for e.g. N = 8), but more than that could use a recursive proof (and reusing the portion of the circuit to verify the last N ones).

Then, we can define short-circuiting proof composition, currently called WrapTwo dumbly,
such that if either of the two wrapped statements can be short-circuited, then we avoid an extra proof.

This is very useful for reducing proofs to deal with the 2 recursive proof verifications per circuit limit, since you can stack WrapTwos on top of WrapTwos, and only proving when necessary, short-circuiting the rest.

Closes #162

Doesn't compile, unfinished.

The idea is to make an abstraction over "statements",
such that they are either done by a recursive proof verification
or by doing some minor logic in-circuit.

For the action state extension statement, it would be
short-circuiting if source and target are only N actions
from each other (for e.g. N = 8), but more than that
could use a recursive proof (and reusing the portion of the
circuit to verify the last N ones).

Then, we can define short-circuiting proof composition,
currently called WrapTwo dumbly,
such that if either of the two wrapped statements can be short-circuited,
then we avoid an extra proof.

This is very useful for reducing proofs to deal with the 2 recursive proof
verifications per circuit limit, since you can stack WrapTwos on top of WrapTwos,
and only proving when necessary, short-circuiting the rest.

Closes #162
@L-as
Copy link
Collaborator Author

L-as commented Jun 18, 2024

I've currently unprioritized this since it's non-trivial and hard to audit.

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.

Make generic wrapper for proofs
1 participant