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

Review optimization doc #25

Open
daira opened this issue Jun 28, 2024 · 0 comments
Open

Review optimization doc #25

daira opened this issue Jun 28, 2024 · 0 comments
Assignees

Comments

@daira
Copy link
Collaborator

daira commented Jun 28, 2024

Questions for the review of this doc:

  • Is it sufficiently clear?
  • Is the definition of compilation correctness sufficient, i.e. it accurately preserves soundness and completeness?
  • Does the model permit the optimizations we wanted to permit?
  • Is the "Greedy algorithm for choosing $\mathbf{r}$" correct?

Re: compilation correctness, I wrote at #24 (comment) :

It is alright if one or more unconstrained abstract cells map to the same concrete cell as a constrained abstract cell, because that will not affect the meaning of the circuit.

I tend to think [this] needs either a proof or more detailed intuition as to why it is true. Specifically, it depends on the following:

  • An unconstrained abstract cell is fully unconstrained (which is necessary for completeness of the translated circuit wrt the original). Note that this relies on some details of the definition of "constrained" — for example considering cells in fixed columns to be constrained, and $\equiv$ being transitive.
  • An abstract cell with coordinates $(i, j)$ maps to only one concrete cell $(h_i, \mathbf{r}(j) + e_i)$.

Therefore the effect is that if both one constrained abstract cell and several unconstrained abstract cells map to the same concrete cell, you can think of it as assigning these unconstrained abstract cells the same value when you do the correctness proof. And the point is that this is harmless: it affects neither completeness nor knowledge soundness (and zero knowledge doesn't depend on the abstract-concrete mapping at all).

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

3 participants