-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Let's say we want to open
$f_i(z_i) = y_i$ where each point$z_i$ 's length is$n$ .
Then according to the construction in sec 3.8 of the HyperPlonk paper, this can be checked via a ZeroCheck (
The above sumcheck can be rephrased as this
$s = \sum_i eq(t, i)*y_i = \sum_{i, b} eq(t, i) * f_i(b) * eq(z_i, b)$
-
Given function
$g(i, b) = eq(t, i)*f_i(b)$ defined on the boolean hypercube$B_{k+n}$ , apply multilinear extension (MLE) on it, we get a MLP$\tilde{g}(x, y)$ . -
Given function
$h(i,b) = eq(z_i, b)$ , apply MLE on it, we get a MLP$\tilde{h}(x, y)$
Then the above sumcheck can then rephrased again like this
$s = \sum_{i, b} \tilde{g}(i,b) * \tilde{h}(i,b)$
After doing the above sumcheck, we successfully reduce the validity of
Note that
1.1 How to compute $\tilde{g}(\alpha_1, \alpha_2)$ ?
-
$\tilde{g}(\alpha_1, \alpha_2) = \sum_i eq(\alpha_1, i) * eq(t, i) * \sum_b eq(\alpha_2, b) * f_i(b)$ ; - since
$f_i(X)$ is a multilinear polynomial, we have$\sum_b eq(\alpha_2, b) * f_i(b) = f_i(\alpha_2)$ ; - Therefore,
$\tilde{g}(\alpha_1, \alpha_2) = \sum_i eq(\alpha_1, i)* eq(t, i) * f_i(\alpha_2)$ .
The above equation implies that we only need to
open MLPs
$\{ f_i(X) \}$ at one single point$\alpha_2$ .
1.2. Summary
Applying a sumcheck
Cost:
- one sumcheck proof with
$k+n$ rounds. - running batch open of
$f_i(X)$ at single point$r_2$ .