Mathematizing Constraint Arrays
While defining both our AND and MUL constraints, we made use of "constraint arrays", arrays whose elements take the form
for . Here, is the total number of constraints (either AND or MUL), and each is a list of shifted value indices. We recall that, by definition, each shifted value index is an element of the set .
Both our AND and MUL reductions closed out by outputting evaluation claims on the oblong-multilinearizations of these constraint arrays. In order to assess validity of these claims, we need to connect them mathematically to the witness.
By definition, the oblong-multilinearization of the array above is the unique oblong-multilinear polynomial
for which
holds for each and each . Our task now is to express this oblong-multilinearization as a polynomial in terms of , the multilinearization of the prover's witness. The initial definition of above suggests that this should be possible; on the other hand, making everything algebraic is hard. We will have to put our shifted witness polynomials to use.
Later, we will undertake the actual task of reducing a claim on to one on .
The Constraint Matrices
We thus fix , a list-of-lists of shifted value indices.
We first re-express this data in matrix form. For each of the three shift types , we define "matrix" —so, is three-dimensional—by declaring that, for each , , and ,
if and only if the th constraint triple contains the triple .
Thus, we get 3 three-dimensional matrices, namely for each of the three . Note that we are implicitly assuming there are no duplicate shifted value indices in any of the lists . (Of course, having duplicates would be pointless, since they would get XOR'd out.)
Matrix Expressions
We now express each element of the constraint array , for , as a matrix expression. Here, we use our shifted witness functions . For each , we claim that:
We recall that by definition; the equality above follows essentially from the definition of the matrices .
Multilinearizing
Now, we take multilinear extensions. At this point, we assume that and are both powers of 2.
By identifying the matrices with their multilinear extensions, we can view them now as multilinear polynomials , each with coefficients in , and of variables. Similarly, we have already seen that the shifted witness functions can be multilinearized. Multilinearizing everything, we obtain a multilinear polynomial, on variables, -valued on the cube:
It's again true essentially by construction that, for each and , .
Using Shift Indicators
We showed already that the shifted witness polynomials can themselves be expressed using shift indicators. Unrolling that step now, we obtain the following equivalent expression for the multilinear defined above:
These are identically equal (as polynomials) to the above expressions we gave; they just unroll the shifted witness polynomials and rearrange the sums.
Oblong-Multilinearizing
Now, we apply the standard oblong-multilinearization construction to . In this way, we obtain the expression:
The polynomial obtained in this way indeed yields the one we set out to obtain above. Indeed, by the standard property of the oblong-multilinearization transformation, for each and each , ; on the other hand, we have already seen that that latter quantity equals . Thus,
holds for each and each , a condition that uniquely characterizes the polynomial .