Connecting oblong-multilinearized constraint arrays to the witness
While defining both our AND and MUL constraints, we made use of "constraint arrays", arrays z whose elements take the form
z[x]:=(y,op,s)∈Lxz⨁op(w[y],s),
for x∈{0,…,ncons−1}. Here, ncons is the total number of constraints (either AND or MUL), and each Lxz is a list of shifted value indices. We recall that, by definition, each shifted value index (y,op,s)∈Lxz is an element of the set {0,…,nwords−1}×{sll,srl,sra}×{0,…,63}.
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 z above is the unique oblong-multilinear polynomial
z(I,X0,…,Xℓcons−1)
for which
z(i,x)=z[x]i
holds for each i∈B6 and each x∈Bℓcons. Our task now is to express this oblong-multilinearization z(I,X) as a polynomial in terms of w(J,Y), the multilinearization of the prover's witness. The initial definition of z[x] 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 z(I,X) to one on w(J,Y).
The Constraint Matrices
We thus fix (Lxz)x=0ncons−1, a list-of-lists of shifted value indices.
We first re-express this data in matrix form. For each of the three shift types op∈{sll,srl,sra}, we define ncons×nwords×64 "matrix" Zcons,op—so, Zcons,op is three-dimensional—by declaring that, for each x∈{0,…,ncons−1}, y∈{0,…,nwords−1}, and s∈{0,…,63},
Zcons,op[x,y,s]=1
if and only if the xth constraint triple Lxz contains the triple (y,op,s).
Thus, we get 3 three-dimensional matrices, namely Zcons,op for each of the three op. Note that we are implicitly assuming there are no duplicate shifted value indices in any of the lists Lxz. (Of course, having duplicates would be pointless, since they would get XOR'd out.)
Matrix Expressions
We now express each element z[x] of the constraint array z, for x∈{0,…,ncons−1}, as a matrix expression. Here, we use our shifted witness functionsshiftop(w)(y,s). For each x∈{0,…,ncons−1}, we claim that:
We recall that z[x]:=⨁(y,op,s)∈Lxzop(w[y],s) by definition; the equality above follows essentially from the definition of the matrices Zcons,op.
Multilinearizing
Now, we take multilinear extensions. At this point, we assume that ncons=2ℓcons and nwords=2ℓwords are both powers of 2.
By identifying the matrices Zcons,op with their multilinear extensions, we can view them now as multilinear polynomials Zcons,op(X,Y,S), each with coefficients in F2, and of ℓcons+ℓwords+6 variables. Similarly, we have already seen that the shifted witness functions shiftop(w)(y,s) can be multilinearized. Multilinearizing everything, we obtain a multilinear polynomial, on 6+ℓcons variables, F2-valued on the cube:
It's again true essentially by construction that, for each i∈B6 and x∈Bℓcons, z(i,x)=z[x]i.
Using Shift Indicators
We showed already that the shifted witness polynomials shiftop(w)(I,y,S) can themselves be expressed using shift indicators. Unrolling that step now, we obtain the following equivalent expression for the multilinear z(I,X) 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 z(I,X). In this way, we obtain the expression:
The polynomial z(I,X) 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 i∈B6 and each x∈Bℓcons, z(i,x)=z(i,x); on the other hand, we have already seen that that latter quantity equals z[x]i. Thus,
z(i,x)=z[x]i
holds for each i∈B6 and each x∈Bℓcons, a condition that uniquely characterizes the polynomial z(I,X).