Skip to content

Combined Protocol

Our full protocol for MUL constraints

Here, we put the previous two pages together. Indeed, we've already seen that p[x]q[x]=264hi[x]+lo[x]p[x] \cdot q[x] = 2^{64} \cdot \text{hi}[x] + \text{lo}[x] holds as integers if and only if (gp[x])q[x]=?(g264)hi[x]glo[x]\big(g^{p[x]}\big)^{q[x]} \stackrel{?}= \big( g^{2^{64}} \big)^{\text{hi}[x]} \cdot g^{\text{lo}[x]}, where gF2128g \in \mathbb{F}_{2^{128}}^* 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)\widehat{p}(\widehat{I}, X), q^(I^,X)\widehat{q}(\widehat{I}, X), lo^(I^,X)\widehat{\text{lo}}(\widehat{I}, X), and hi^(I^,X)\widehat{\text{hi}}(\widehat{I}, X) for the oblong-multilinearizations of the prover's constraint arrays pp, qq, lo\text{lo} and hi\text{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,,Xmul1)G(X_0, \ldots , X_{\ell_\text{mul} - 1}) for the constant multilinear that equals gg everywhere, and G64(X0,,Xmul1)G_{64}(X_0, \ldots , X_{\ell_\text{mul} - 1}) for the constant multilinear that equals g264g^{2^{64}} everywhere.

For each pair consisting of a base multilinear V~(X)\widetilde{V}(X) and an exponent oblong-multilinear z^(I^,X)\widehat{z}(\widehat{I}, X), the exponent protocol yields "query access" to the virtual multilinear W~(X)\widetilde{W}(X), defined pointwise on the cube as V(x)z[x]V(x)^{z[x]} for each xBmulx \in \mathcal{B}_{\ell_\text{mul}}. The prover prepares for four executions of that protocol, preparing four virtual multilinears:

  • using the base GG and the exponent p^(I^,X)\widehat{p}(\widehat{I}, X), obtain the exponentiation P~(X)\widetilde{P}(X).
  • using the base P~(X)\widetilde{P}(X) and the exponent q^(I^,X)\widehat{q}(\widehat{I}, X), obtain the exponentiation Q~(X)\widetilde{Q}(X).
  • using the base GG and the exponent lo^(I^,X)\widehat{\text{lo}}(\widehat{I}, X), obtain the exponentiation LO~(X)\widetilde{\text{LO}}(X).
  • using the base G64G_{64} and the exponent hi^(I^,X)\widehat{\text{hi}}(\widehat{I}, X), obtain the exponentiation HI~(X)\widetilde{\text{HI}}(X).

We note first that for each xBmulx \in \mathcal{B}_{\ell_\text{mul}},

(gp[x])q[x]=P~(x)q[x]=Q~(x)\begin{equation*}\big(g^{p[x]}\big)^{q[x]} = \widetilde{P}(x)^{q[x]} = \widetilde{Q}(x)\end{equation*}

and

(g264)hi[x]glo[x]=G64hi[x]Glo[x]=HI~(x)LO~(x)\begin{equation*}\big( g^{2^{64}} \big)^{\text{hi}[x]} \cdot g^{\text{lo}[x]} = G_{64}^{\text{hi}[x]} \cdot G^{\text{lo}[x]} = \widetilde{\text{HI}}(x) \cdot \widetilde{\text{LO}}(x)\end{equation*}

both hold. For this reason, our claim of interest, whereby (gp[x])q[x]=?(g264)hi[x]glo[x]\big(g^{p[x]}\big)^{q[x]} \stackrel{?}= \big( g^{2^{64}} \big)^{\text{hi}[x]} \cdot g^{\text{lo}[x]} holds for each xBmulx \in \mathcal{B}_{\ell_\text{mul}}, is equivalent to that whereby

Q~(x)=?LO~(x)HI~(x)\begin{equation*}\widetilde{Q}(x) \stackrel{?}= \widetilde{\text{LO}}(x) \cdot \widetilde{\text{HI}}(x)\end{equation*}

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)\widehat{p}(\widehat{I}, X), q^(I^,X)\widehat{q}(\widehat{I}, X), lo^(I^,X)\widehat{\text{lo}}(\widehat{I}, X), and hi^(I^,X)\widehat{\text{hi}}(\widehat{I}, X) to pertain to the same evaluation point, we need to be a bit tricky.

  • the verifier samples a random point rF2128mulr \gets \mathbb{F}_{2^{128}}^{\ell_\text{mul}} and sends that point to the prover. the prover responds with a single value ss, claimed to simultaneously equal Q~(r)\widetilde{Q}(r) and xBmuleq~(r,x)LO~(x)HI~(x)\sum_{x \in \mathcal{B}_{\ell_\text{mul}}} \widetilde{\texttt{eq}}(r, x) \cdot \widetilde{\text{LO}}(x) \cdot \widetilde{\text{HI}}(x) (the latter is the evaluation of the MLE of the pointwise product LO~(x)HI~(x)\widetilde{\text{LO}}(x) \cdot \widetilde{\text{HI}}(x) at rr).

  • the parties begin by running just the GKR step on the first of these claims, namely s=?Q~(r)s \stackrel{?}= \widetilde{Q}(r). In this way, the verifier reduces that claim to further claims, now of the form sQ,i=?Qi~(r)s'_{Q, i} \stackrel{?}= \widetilde{Q_i}(r'), for i{0,,63}i \in \{0, \ldots , 63\}.

  • the parties now batch the following two mul\ell_\text{mul}-round sumchecks:

    • the Frobenius step associated with the intermediate claims sQ,i=?Qi~(r)s'_{Q, i} \stackrel{?}= \widetilde{Q_i}(r') just above.
    • the initial sumcheck s=?xBmuleq~(r,x)LO~(x)HI~(x)s \stackrel{?}= \sum_{x \in \mathcal{B}_{\ell_\text{mul}}} \widetilde{\texttt{eq}}(r, x) \cdot \widetilde{\text{LO}}(x) \cdot \widetilde{\text{HI}}(x) deferred above.


    the parties thus obtain new root claims, now of the form sP=?P~(r)s_P \stackrel{?}= \widetilde{P}(r''), sHI=?HI~(r)s_\text{HI} \stackrel{?}= \widetilde{\text{HI}}(r''), and sLO=?LO~(r)s_\text{LO} \stackrel{?}= \widetilde{\text{LO}}(r''), as well as exponent evaluation claims, of the form sq,i=?qi~(r)s_{q, i} \stackrel{?}= \widetilde{q_i}(r''), for i{0,,63}i \in \{0, \ldots , 63\}.

  • in a batched way, the parties now run just the respective GKR phases associated with the three root claims sP=?P~(r)s_P \stackrel{?}= \widetilde{P}(r''), sHI=?HI~(r)s_\text{HI} \stackrel{?}= \widetilde{\text{HI}}(r''), and sLO=?LO~(r)s_\text{LO} \stackrel{?}= \widetilde{\text{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)s_{q, i} \stackrel{?}= \widetilde{q_i}(r''). in this way, the parties obtain further intermediate claims, now of the form sP,i=?Pi~(rx)s'_{P, i} \stackrel{?}= \widetilde{P_i}(r_x), sHI,i=?HIi~(rx)s'_{\text{HI}, i} \stackrel{?}= \widetilde{\text{HI}_i}(r_x), and sLO,i=?LOi~(rx)s'_{\text{LO}, i} \stackrel{?}= \widetilde{\text{LO}_i}(r_x), as well as rerandomized exponent claims sq,i=?qi~(rx)s'_{q, i} \stackrel{?}= \widetilde{q_i}(r_x), for i{0,,63}i \in \{0, \ldots , 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)\widetilde{P_i}(r_x) for example, for each i{0,,63}i \in \{0, \ldots , 63\}, our claim amounts to:

    sP,i=?xBmuleq~(rx,x)(1+pi(x)(g2i1))=1+(g2i1)xBmuleq~(rx,x)pi(x)=1+(g2i1)pi~(rx).\begin{align*} s'_{P, i} &\stackrel{?}= \sum_{x \in \mathcal{B}_{\ell_\text{mul}}} \widetilde{\texttt{eq}}(r_x, x) \cdot \left( 1 + p_i(x) \cdot \left( g^{2^i} - 1 \right) \right) \\ &= 1 + \left( g^{2^i} - 1 \right) \sum_{x \in \mathcal{B}_{\ell_\text{mul}}} \widetilde{\texttt{eq}}(r_x, x) \cdot p_i(x) \\ &= 1 + \left( g^{2^i} - 1 \right) \widetilde{p_i}(r_x). \end{align*}

    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)s_{p, i} \stackrel{?}= \widetilde{p_i}(r_x), shi,i=?hii~(rx)s_{\text{hi}, i} \stackrel{?}= \widetilde{\text{hi}_i}(r_x), and slo,i=?LO~(rx)s_{\text{lo}, i} \stackrel{?}= \widetilde{\text{LO}}(r_x), for i{0,,63}i \in \{0, \ldots , 63\}. We now have claims on pi~(X)\widetilde{p_i}(X), qi~(X)\widetilde{q_i}(X), hii~(X)\widetilde{\text{hi}_i}(X) and loi~(X)\widetilde{\text{lo}_i}(X), for i{0,,63}i \in \{0, \ldots , 63\}, all at the same point rxr_x.

  • the parties now run the oblong-multilinearization step just once across all four oblong-multilinears. In this way, they obtain evaluation claims of the form p^(ri^,rx)\widehat{p}(r_{\widehat{i}}, r'_x), q^(ri^,rx)\widehat{q}(r_{\widehat{i}}, r'_x), lo^(ri^,rx)\widehat{\text{lo}}(r_{\widehat{i}}, r'_x), and hi^(ri^,rx)\widehat{\text{hi}}(r_{\widehat{i}}, r'_x), i.e. for which the values ri^r_{\widehat{i}} and rxr'_x are the same in all four claims.

This completes our treatment of the MUL reduction.