Shifted Witness Polynomials
Let's say we have a length- vector , whose components are 64-bit words.
Let's now fix some shift type and a shift amount . Let's say we want to shift each of 's components by using . This gives us a new -word list. Let's give it a name: for each , we let
We will call these the shifted witness functions.
As Polynomials
What happens if we put both and through multilinearization? How will the resulting multilinears relate to each other?
At this point, we assume that is a power of 2. Let's review what multilinearization means, in this context. Going back to our original array , we can identify with a -variate multilinear over :
The indeterminates control the "bit within the word"; the indeterminates control the "word index". In other words, for each word index and each bit index , (i.e., the "th bit" of the latter).
Similarly, we can define the shifted witness polynomial
simply by multilinear-extending . Note that we again need to pick up 6 new variables—which we now call —that control the bit index within the word. Our defining property is that for each , and in the cube, (we again take the "th bit").
How do we efficiently relate an evaluation claim on to an evaluation claim on ? The most naïve possible approach would read 's entire table of values, shift them all, and compute a multilinear evaluation on variables. This is obviously unacceptable.
The Shift Indicators
We introduce shift indicators, and explain how they help us solve this problem. We again fix a shift type .
For each such , we define a corresponding function from :
For each triple of inputs , and , it either is or isn't true that the th bit position of is precisely the th bit position of (i.e., for each possible input ). The shift indicator picks up that fact.
With a bit of work we can unwind exactly what these mean. For each , and in ,
- if and only if .
- if and only if .
- if and only if or both and hold.
We will come back to these descriptions when we arithmetize the functions, in the next two pages.
Multilinear Shift Indicators
Now, we will write
for the multilinear extension of . This extension is a multilinear polynomial, with -coefficients, on variables.
We now note the equality of multilinears:
To check this equality, it's enough to check it on the cube. We fix , and . Our goal is to show that for each such specialization,
This is basically an exercise. The sum has at most one nonzero summand. If, for some , , the sum will pick up exactly the th bit , which itself equals . On the other hand, by definition of , , which itself equals , by definition of the latter things. This is basically an idea from [DP25, § 4.3].
This equality opens up the door to using the sumcheck to relate a claim on to one on . Indeed, given an evaluation claim on the former, by running a 6-round sumcheck, the verifier can reduce it to two evaluation claims, on and respectively.
If the former, i.e. , is succinct, then we have solved our problem. Indeed, the verifier can evaluate that one himself, and then output the single, final evaluation claim on .
The rest of this site section will be devoted to arguing that the polynomials are succinct, for each .