The sumcheck protocol with a final evaluation check #
The index is a polynomial P in n variables over a finite field F with every individual
degree at most d. A claim (r, c) at round i consists of the challenges r : Fin i → F of
the earlier rounds and a value c. It states that the sum of P over the Boolean hypercube in
the coordinates i, …, n - 1, with the coordinates below i fixed to r, is c
(Sumcheck.rel P i). At round 0 this is the sumcheck claim ∑_{b ∈ {0,1}ⁿ} P b = c, and at
round n it is the evaluation claim P r = c.
This is the protocol of Lund, Fortnow, Karloff and Nisan [LFKN92] as a
composition of one-round reductions, with each challenge uniform on the field. Each round needs
i < n: past the last variable the honest round polynomial is constant, and the round is neither
complete nor round-by-round sound. The TQBF protocol in
Complexity.Computability.Complexity.Classes.IP.TQBF.Protocol is a separate, unchanged
development.
Main definitions #
Sumcheck.Claim F i: the claims of roundi, a point ofF^iand a value.Sumcheck.partialSum P r: the sum ofPover the Boolean hypercube in the coordinates fromion, with the coordinates belowifixed tor : Fin i → F.Sumcheck.round d P ireducesrel P itorel P (i + 1)in one prover message (a univariate polynomial) and one uniform challengez, and appendszto the point.Sumcheck.finalCheck Preducesrel P nto acceptance by evaluatingPwithout interaction.Sumcheck.proof d Pisround 0, …,round (n - 1), byReduction.iterate, followed byfinalCheck.
Main results #
Sumcheck.round_complete,Sumcheck.round_rbrSound: each round is perfectly complete and round-by-round sound with errord / |F|.Sumcheck.finalCheck_complete,Sumcheck.finalCheck_rbrSound: the final check is perfectly complete and round-by-round sound without error.Sumcheck.proof_complete,Sumcheck.proof_sound: the end-to-end theorems, corollaries of the component theorems through the composition theorems. The soundness errorn * (d / |F|)is the sum of the per-round errors, and no step of the composed protocol is reasoned about directly.
References #
A claim of round i: the challenges of the rounds before i and the claimed value.
Instances For
The sum of P over the Boolean hypercube in the coordinates from i on, with the coordinates
below i fixed to r.
Instances For
The honest message of round i: the partial sum as a polynomial in coordinate i.
Instances For
One round: the prover sends a polynomial, read in full; the verifier sends a field element.
Instances For
The verifier's test of a round polynomial g against the claimed value c.
Instances For
Round i of sumcheck: on the claim (r, c) and the challenge z, the new claim is
(Fin.snoc r z, g.eval z) for the prover's polynomial g.
Instances For
The final check: evaluate P at the claimed point, without interaction.
Instances For
Sumcheck followed by the final check: a proof system for the claim ∑_{b ∈ {0,1}ⁿ} P b = c
(rel P 0).
Instances For
The round polynomial #
At round n all coordinates are fixed: the partial sum is the evaluation.
Component theorems (milestone 2) #
Each round is perfectly complete.
Each round is round-by-round sound with error d / |F| (Schwartz–Zippel for one variable).
The final check is perfectly complete.
The final check is round-by-round sound without error.
End-to-end theorems, by composition #
Completeness of sumcheck with the final check.
Soundness of sumcheck with the final check: a false claim is accepted with probability at
most n * (d / |F|).