pub fn batch_prove_zerocheck<'a, F, FDomain, P, Prover, Challenger_>(
provers: Vec<Prover>,
skip_rounds: usize,
transcript: &mut ProverTranscript<Challenger_>,
) -> Result<BatchZerocheckOutput<P::Scalar>, Error>where
F: TowerField + ExtensionField<FDomain>,
FDomain: TowerField,
P: PackedField<Scalar = F> + PackedExtension<F, PackedSubfield = P> + PackedExtension<FDomain>,
Prover: ZerocheckProver<'a, P>,
Challenger_: Challenger,
Expand description
Prove a batched zerocheck protocol execution.
See the batch_verify_zerocheck
docstring for
a detailed description of the zerocheck reduction stages. The provers
in this invocation
should be provided in the same order as the corresponding claims during verification.
Zerocheck challenges (max_n_vars - skip_rounds
of them) are to be sampled right before this
call and used for ZerocheckProver
instances creation (most likely via calls to
ZerocheckProverImpl::new
)