Module sumcheck

Source
Expand description

The multivariate sumcheck and zerocheck polynomial protocols.

Sumcheck supports an efficient prover algorithm when the virtual polynomial is a multilinear composite, so this module only handles that case, rather than the case of general multivariate polynomials.

Re-exports§

pub use prove::batch_prove;
pub use univariate_zerocheck::batch_verify_zerocheck_univariate_round;
pub use verify::batch_verify;
pub use verify::batch_verify_with_start;
pub use zerocheck::ZerocheckClaim;

Modules§

front_loaded
prove
univariate
univariate_zerocheck
verify
zerocheck

Structs§

BatchSumcheckOutput
CompositeSumClaim
A claim about the sum of the values of a multilinear composite polynomial over the boolean hypercube.
OracleClaimMeta
Proof
A sumcheck batch proof.
RoundCoeffs
A univariate polynomial in monomial basis.
RoundProof
A sumcheck round proof is a univariate polynomial in monomial basis with the coefficient of the highest-degree term truncated off.
SumcheckClaim
A group of claims about the sum of the values of multilinear composite polynomials over the boolean hypercube.
SumcheckClaimsWithMeta

Enums§

ConcreteClaim
Error
VerificationError

Functions§

batch_weighted_value
Multiply a sequence of field elements by the consecutive powers of batch_coeff
constraint_set_sumcheck_claim
Create a sumcheck claim out of constraint set. Fails when the constraint set contains zerochecks. Returns claim and metadata used for evalcheck claim construction.
constraint_set_sumcheck_claims
Constructs sumcheck claims and metas from the vector of ConstraintSet
constraint_set_zerocheck_claim
Create a zerocheck claim from the constraint set. Fails when the constraint set contains regular sumchecks. Returns claim and metadata used for evalcheck claim construction.
determine_switchovers
Determine switchover rounds for a slice of multilinears.
equal_n_vars_check
Check that all multilinears in a slice are of the same size.
get_nontrivial_evaluation_points
Validate the sumcheck evaluation domains to conform to the shape expected by the SumcheckRoundCalculator:
immediate_switchover_heuristic
Sumcheck switchover heuristic that begins folding immediately in the first round.
make_eval_claims
Constructs evalcheck claims from metadata returned by constraint set claim constructors.
small_field_embedding_degree_check
Check that evaluations of all multilinears can actually be embedded in the scalar type of small field PBase.
standard_switchover_heuristic
Constructs a switchover function thaw returns the round number where folded multilinear is at least 2^k times smaller (in bytes) than the original, or 1 when not applicable.