pub fn batch_prove<F, P, FDomain, Challenger_, Backend>(
evaluation_order: EvaluationOrder,
witnesses: impl IntoIterator<Item = GrandProductWitness<P>>,
claims: &[GrandProductClaim<F>],
evaluation_domain_factory: impl EvaluationDomainFactory<FDomain>,
transcript: &mut ProverTranscript<Challenger_>,
backend: &Backend,
) -> Result<GrandProductBatchProveOutput<F>, Error>where
F: TowerField,
P: PackedField<Scalar = F> + PackedExtension<FDomain>,
FDomain: Field,
Challenger_: Challenger,
Backend: ComputationBackend,
Expand description
Proves batch reduction turning each GrandProductClaim into an EvalcheckMultilinearClaim
REQUIRES:
- witnesses and claims are of the same length
- The ith witness corresponds to the ith claim