Twist and Shout

🚧 These docs are under construction 🚧

👷If you are urgently interested in this specific page, open a Github issue and we'll try to expedite it.👷

One-hot polynomials

Shout

Prefix-suffix Shout

Twist

"Local" vs "alternative" algorithm

wv virtualization

In the Twist and Shout paper (Figure 9), the read and write checking sumchecks of Twist are presented as follows:

twist rw

Observe that the write checking sumcheck is presented as a way to confirm that an evaluation of is correct.

Under this formulation, both and the polynomial are committed.

With a slight tweak, we can avoid committing to . First, we will modify to be a polynomial over just the cycle variables, i.e. . Intuitively, the th coefficient of is the delta for the memory cell accessed at cycle (agnostic to which cell was accessed).

Second, we will reformulate the write checking sumcheck to more closely match the read checking sumcheck:

Intuitively, the write value at cycle is equal to whatever was already in that register (), plus the increment ().

We also need to tweak the -evaluation sumcheck to accommodate the modification . As presented in the paper:

twist val evaluation

After modifying to be a polynomial over just the cycle variables: