The GKR summand #
For a point z of layer i + 1, the GKR protocol runs sumcheck on the polynomial
f_z (y, w) = ãdd_i(z, y, w) (W̃_i(y) + W̃_i(w)) + m̃ult_i(z, y, w) W̃_i(y) W̃_i(w) in the
2 · width i variables (y, w) (Cslib.Interactive.GKR.LayeredCircuit.summand). Its sum over the
cube is W̃_{i+1}(z) (sum_eval_summand, from the GKR identity), its value at any point is
computed from the wiring extensions and the two values W̃_i(y) and W̃_i(w) (eval_summand),
and each variable has degree at most two (degreeOf_summand_le), so each sumcheck round has
soundness error 2 / |F| Thaler, §4.6.
Main definitions #
Cslib.Interactive.GKR.LayeredCircuit.summand: the polynomialf_z.
Main results #
Cslib.Interactive.GKR.LayeredCircuit.eval_summand: the value off_zat(y, w).Cslib.Interactive.GKR.LayeredCircuit.sum_eval_summand: the sum off_zover the cube.Cslib.Interactive.GKR.LayeredCircuit.degreeOf_summand_le: every variable has degree at most two.
References #
- J. Thaler, Proofs, Arguments, and Zero-Knowledge, Section 4.6
The degree of a variable v in an indicator polynomial is at most the number of j with
e j = v.
The wiring extension of the gate kind g, as a polynomial in the in-neighbour variables, with
the gate of layer i + 1 fixed to the point z.
Instances For
The GKR summand
f_z (y, w) = ãdd_i(z, y, w) (W̃(y) + W̃(w)) + m̃ult_i(z, y, w) W̃(y) W̃(w), for the values W of
layer i and a point z of layer i + 1.
Instances For
The wiring polynomial at (y, w) is the multilinear extension of the wiring predicate at
(z, y, w).
The value of the GKR summand at (y, w), from the wiring extensions and the values of the
multilinear extension of layer i at y and w.
The sum of the GKR summand over the cube is the multilinear extension of layer i + 1 at
z.