# Optimizing Plookup: The Alternating Method Multiplicative Subgrup: $$ H = \{\omega, ... , \omega^{n-1}, \omega^n = 1\} $$ Involved Vectors: $$ \boldsymbol{f} = (f_1, f_2, \dots, f_{n}) \in \mathbb{F}^n $$ $$ \boldsymbol{t} = (t_1, t_2, \dots, t_n) \in \mathbb{F}^n $$ $$ \boldsymbol{s} = (s_1, s_2, \dots, s_{2n}) \in \mathbb{F}^{2n} $$ We want to prove: $$ \boldsymbol{f} \subset \boldsymbol{t}. $$ $$ \boldsymbol{s} \text{ is } (\boldsymbol{f}, \boldsymbol{t}) \text{ sorted by } \boldsymbol{t} $$ Let's define the vectors $\boldsymbol{h_1}, \boldsymbol{h_2} \in \mathbb{F}^n$ by: $$ \boldsymbol{h_1} := (s_{1}, s_3, ...., s_{2n-1}) $$ $$ \boldsymbol{h_2} := (s_{2}, s_4 ...., s_{2n}) $$ Taking $\gamma = 0$ (to visualize an overview), the objective is to define a vector $\boldsymbol{Z}$ such that: $$ \begin{array}{rcccccl} \displaystyle H = \{ & \omega & \omega ^2 & \omega ^3 & \dots & \omega^n &\}\\ & \downarrow & \downarrow & \downarrow & \downarrow & \downarrow & \\ \boldsymbol{Z} = \bigg[& 1, & \frac{(1 + \beta)f_1 (t_1+\beta t_2)}{(s_1+\beta s_2)(s_2+\beta s_3)}, & \frac{(1 + \beta)^2f_1f_2(t_1+\beta t_2)(t_2+\beta t_3)}{(s_1+\beta s_2)(s_2+\beta s_3)(s_3+\beta s_4)(s_4+\beta s_5)}, & \dots, & \frac{(1 + \beta)^{n-1}f_1 \dots f_{n-1}(t_1+\beta t_2)(t_2+\beta t_3) \dots (t_{n-1} + \beta t_n)}{(s_1+\beta s_2)(s_2+\beta s_3) \dots (s_{2n-3}+\beta s_{2n-2})(s_{2n-2}+\beta s_{2n-1})} & \bigg] \end{array} $$ $$ Z(\omega^i) = \begin{cases} 1, & \text{if }~ i=1 \\ \frac{\displaystyle (1+\beta)^{i-1} \prod_{j=1}^{i-1}{(\gamma + f_j)} \prod_{j=1}^{i-1}(\gamma(1+\beta) + t_j + \beta t_{j+1})}{ \displaystyle \prod_{j=1}^{i-1}(\gamma(1+\beta) + s_{2j-1} + \beta s_{2j})(\gamma(1+\beta) + s_{2j} + \beta s_{2j+1})}, & \text{if }~ i = 2, \dots, n \end{cases} $$ \begin{align*} Z(X\omega) = Z(X)\frac{(1+\beta)(\gamma + f(X))(\gamma(1+\beta) + t(X) + \beta t(X\omega))} {(\gamma(1+\beta) + {h_1}(X) + \beta {h_2}(X))(\gamma(1+\beta) + {h_2}(X) + \beta {h_1}(X\omega))} \end{align*} ## Protocol 1. Prover sends the polynomials $h_1(X), h_2(X)$ to the idealizer. 1. Verifier sends random $\gamma, \beta \in \mathbb{F}$ to the prover. 1. Prover sends $Z(X)$ to the idealizer. 1. Verifier asks to the idealizer for the following checks: $$ L_1(X) \left( Z(X) - 1\right) = 0 $$ $$ Z(\omega X) {(\gamma(1+\beta) + {h_1}(X) + \beta {h_2}(X))(\gamma(1+\beta) + {h_2}(X) + \beta {h_1}(X\omega))} - \\ - Z(X)(1+\beta)(\gamma + f(X))(\gamma(1+\beta) + t(X) + \beta t(X\omega)) = 0 $$ ## Example $$H = \{\omega, \omega^2, \omega^3\} $$ \begin{array}{l} \boldsymbol{f} = (f_1, f_2, f_3) \\ \boldsymbol{t} = (t_1, t_2, t_3)\\ \boldsymbol{s} = (s_1, s_2, s_3, s_4, s_5, s_6) \\ \boldsymbol{h_1} = (s_1, s_3, s_5) \\ \boldsymbol{h_2} = (s_2, s_4, s_6) \end{array} <!-- By the continous method: \begin{array}{l} Z(\omega) = 1 \\ Z(\omega^2) = \displaystyle \frac{(1+\beta)(\gamma + f_1)(\gamma(1+\beta) + t_1 + \beta t_2)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_4 + \beta s_5)} \\ Z(\omega^3) = \displaystyle \frac{(1+\beta)^2(\gamma + f_1)(\gamma + f_2)(\gamma(1+\beta) + t_1 + \beta t_2)(\gamma(1+\beta) + t_2 + \beta t_3)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_2 + \beta s_3)(\gamma(1+\beta) + s_4 + \beta s_5)(\gamma(1+\beta) + s_5 + \beta s_6)} \end{array} So, to complete the grand-product (which is intended to be completed at $Z(\omega^4) = Z(\omega)$), we only need the factor $(\gamma + f_3)$ in the numerator, and $(\gamma(1+\beta) + s_3 + \beta s_4)$ in the denominator. --> By the alternating method: \begin{array}{l} Z(\omega) = 1 \\ Z(\omega^2) = \displaystyle \frac{(1+\beta)(\gamma + f_1)(\gamma(1+\beta) + t_1 + \beta t_2)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_2 + \beta s_3)} \\ Z(\omega^3) = \displaystyle \frac{(1+\beta)^2(\gamma + f_1)(\gamma + f_2)(\gamma(1+\beta) + t_1 + \beta t_2)(\gamma(1+\beta) + t_2 + \beta t_3)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_2 + \beta s_3)(\gamma(1+\beta) + s_3 + \beta s_4)(\gamma(1+\beta) + s_4 + \beta s_5)} \end{array} So, to complete the grand-product (which is intended to be completed at $Z(\omega^4) = Z(\omega)$), we only need the factor $(\gamma + f_3)$ in the numerator, and $(\gamma(1+\beta) + s_5 + \beta s_6)$ in the denominator. Usign the relation: \begin{align*} Z(X\omega) &= Z(X)\frac{(1+\beta)(\gamma + f(X))(\gamma(1+\beta) + t(X) + \beta t(X\omega))} {(\gamma(1+\beta) + {h_1}(X) + \beta {h_2}(X)(\gamma(1+\beta) + {h_2}(X) + \beta {h_1}(X\omega))} \end{align*} we obtain more than these two factors: \begin{align*} Z(\omega^4) &= \displaystyle \frac{(1+\beta)^3(\gamma + f_1)(\gamma + f_2)(\gamma + f_3)(\gamma(1+\beta) + t_1 + \beta t_2)(\gamma(1+\beta) + t_2 + \beta t_3)(\gamma(1+\beta) + t_3 + \beta t_1)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_2 + \beta s_3)(\gamma(1+\beta) + s_3 + \beta s_4)(\gamma(1+\beta) + s_4 + \beta s_5)(\gamma(1+\beta) + s_5 + \beta s_6)(\gamma(1+\beta) + s_6 + \beta s_1)} \\ &= \displaystyle \frac{(1+\beta)^3(\gamma + f_1)(\gamma + f_2)(\gamma + f_3)(\gamma(1+\beta) + t_1 + \beta t_2)(\gamma(1+\beta) + t_2 + \beta t_3)} {(\gamma(1+\beta) + s_1 + \beta s_2)(\gamma(1+\beta) + s_2 + \beta s_3)(\gamma(1+\beta) + s_3 + \beta s_4)(\gamma(1+\beta) + s_4 + \beta s_5)(\gamma(1+\beta) + s_5 + \beta s_6)}, \end{align*} where we have used that $t_3 = s_6$ and $t_1 = s_1$, i.e., the last element of $\boldsymbol{t}$ is equal to the last element of $\boldsymbol{s}$ and the same happens for the first element. In general, in the case that $\deg(t(X)) = \deg(f(X))$ there will be one more factor $(\gamma + f_j)$ than the rest in the definition of $Z(X)$. This is the reason why in Plookup $\deg(t(X)) = \deg(f(X)) + 1$. ###### tags: `Plookup`