binius_core::protocols::sumcheck::prove

Function batch_prove_zerocheck_univariate_round

Source
pub fn batch_prove_zerocheck_univariate_round<'a, F, Prover, Challenger_>(
    provers: Vec<Prover>,
    skip_rounds: usize,
    transcript: &mut ProverTranscript<Challenger_>,
) -> Result<BatchZerocheckUnivariateProveOutput<F, Box<dyn SumcheckProver<F> + 'a>>, Error>
where F: TowerField, Prover: UnivariateZerocheckProver<'a, F>, Challenger_: Challenger,
Expand description

Prove a batched univariate zerocheck round.

Batching principle is entirely analogous to the multilinear case: all the provers are right aligned and should all “start” in the first skip_rounds rounds; this method fails otherwise. Reduction to remaining multilinear rounds results in provers for n_vars - skip_rounds rounds.

The provers in the provers parameter must in the same order as the corresponding claims provided to crate::protocols::sumcheck::batch_verify_zerocheck_univariate_round during proof verification.