pub fn batch_prove<'a, F, P, FDomain, Challenger, Backend>(
witnesses: impl IntoIterator<Item = GrandProductWitness<'a, P>>,
claims: &[GrandProductClaim<F>],
evaluation_domain_factory: impl EvaluationDomainFactory<FDomain>,
challenger: Challenger,
backend: Backend,
) -> Result<GrandProductBatchProveOutput<F>, Error>where
F: TowerField,
P: PackedFieldIndexable<Scalar = F> + PackedExtension<FDomain>,
FDomain: Field,
P::Scalar: Field + ExtensionField<FDomain>,
Challenger: CanSample<F> + CanObserve<F>,
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