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

Clarify the semantics of the various kinds of assertions #157

Open
fare opened this issue Aug 15, 2019 · 0 comments
Open

Clarify the semantics of the various kinds of assertions #157

fare opened this issue Aug 15, 2019 · 0 comments

Comments

@fare
Copy link
Contributor

fare commented Aug 15, 2019

There is a good reason for our many types of assertions and how they're modeled in Z3. But I feel like we don't yet have a real good story why these are the right thing. I think we must find a simpler higher mental model from which we can derive them, which would allow us to put a single @A require statement that will do the right thing both in the private program and the consensual program.

For instance, I believe that some variant of @A require pred(x, y) would generate code for A that checks properties, code for the consensus that checks the properties when x and y are both revealed, verify that x and y are indeed revealed before any live termination of the protocol (as opposed to A or B timing out), and a safety proof that A can indeed come up with values x and y that satisfy the predicate.

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

No branches or pull requests

1 participant