Here, we put the previous two pages together. Indeed, we've already seen that p[x]⋅q[x]=264⋅hi[x]+lo[x] holds as integers if and only if (gp[x])q[x]=?(g264)hi[x]⋅glo[x], where g∈F2128∗ is a multiplicative generator (up to an exceptional case that we can manually rule out). Moreover, we've seen how to multilinearize the exponentiation operation. It remains just to put these parts together.
We write p(I,X), q(I,X), lo(I,X), and hi(I,X) for the oblong-multilinearizations of the prover's constraint arraysp, q, lo and hi. Our goal will be to reduce the question of the satisfaction of the prover's MUL constraints to evaluation claims these oblong-multilinearized constraint arrays. Evaluation claims of this latter form are exactly what our shift reduction is designed to assess. In fact, we moreover need all of the evaluation claims to pertain to the same evaluation point. This requirement will make things a bit tricky below.
Some Preparation
We write G(X0,…,Xℓmul−1) for the constant multilinear that equals g everywhere, and G64(X0,…,Xℓmul−1) for the constant multilinear that equals g264 everywhere.
For each pair consisting of a base multilinear V(X) and an exponent oblong-multilinear z(I,X), the exponent protocol yields "query access" to the virtual multilinear W(X), defined pointwise on the cube as V(x)z[x] for each x∈Bℓmul. The prover prepares for four executions of that protocol, preparing four virtual multilinears:
using the base G and the exponent p(I,X), obtain the exponentiation P(X).
using the base P(X) and the exponent q(I,X), obtain the exponentiation Q(X).
using the base G and the exponent lo(I,X), obtain the exponentiation LO(X).
using the base G64 and the exponent hi(I,X), obtain the exponentiation HI(X).
We note first that for each x∈Bℓmul,
(gp[x])q[x]=P(x)q[x]=Q(x)
and
(g264)hi[x]⋅glo[x]=G64hi[x]⋅Glo[x]=HI(x)⋅LO(x)
both hold. For this reason, our claim of interest, whereby (gp[x])q[x]=?(g264)hi[x]⋅glo[x] holds for each x∈Bℓmul, is equivalent to that whereby
Q(x)=?LO(x)⋅HI(x)
does.
The Protocol
Here is the protocol. The basic idea is to start with the vanishing identity above, run a zerocheck on it, and then unroll everything. But since we need the final evaluation claims on p(I,X), q(I,X), lo(I,X), and hi(I,X) to pertain to the same evaluation point, we need to be a bit tricky.
the verifier samples a random point r←F2128ℓmul and sends that point to the prover. the prover responds with a single value s, claimed to simultaneously equal Q(r) and ∑x∈Bℓmuleq(r,x)⋅LO(x)⋅HI(x) (the latter is the evaluation of the MLE of the pointwise product LO(x)⋅HI(x) at r).
the parties begin by running just the GKR step on the first of these claims, namely s=?Q(r). In this way, the verifier reduces that claim to further claims, now of the formsQ,i′=?Qi(r′), for i∈{0,…,63}.
the parties now batch the following two ℓmul-round sumchecks:
the Frobenius step associated with the intermediate claims sQ,i′=?Qi(r′) just above.
the initial sumcheck s=?∑x∈Bℓmuleq(r,x)⋅LO(x)⋅HI(x) deferred above.
the parties thus obtain new root claims, now of the form sP=?P(r′′), sHI=?HI(r′′), and sLO=?LO(r′′), as well as exponent evaluation claims, of the form sq,i=?qi(r′′), for i∈{0,…,63}.
in a batched way, the parties now run just the respective GKR phases associated with the three root claims sP=?P(r′′), sHI=?HI(r′′), and sLO=?LO(r′′). in the very last layer of that batched GKR step, the parties moreover splice in a rerandomization sumcheck on the above claims sq,i=?qi(r′′). in this way, the parties obtain further intermediate claims, now of the form sP,i′=?Pi(rx), sHI,i′=?HIi(rx), and sLO,i′=?LOi(rx), as well as rerandomized exponent claims sq,i′=?qi(rx), for i∈{0,…,63}.
the first three, "capital-letter" claims above pertain to exponents of fixed bases; we claim that the Frobenius steps attached to them can be skipped. In the case of Pi(rx) for example, for each i∈{0,…,63}, our claim amounts to:
By performing some basic algebra, the verifier can thus locally reduce the above claims to further claims, now of the form sp,i=?pi(rx), shi,i=?hii(rx), and slo,i=?LO(rx), for i∈{0,…,63}. We now have claims on pi(X), qi(X), hii(X) and loi(X), for i∈{0,…,63}, all at the same point rx.
the parties now run the oblong-multilinearization stepjust once across all four oblong-multilinears. In this way, they obtain evaluation claims of the form p(ri,rx′), q(ri,rx′), lo(ri,rx′), and hi(ri,rx′), i.e. for which the values ri and rx′ are the same in all four claims.
This completes our treatment of the MUL reduction.