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