binius_core::protocols::sumcheck_v2::prove::univariate

Function univariatizing_reduction_prover

source
pub fn univariatizing_reduction_prover<F, FDomain, P, M, Backend>(
    multilinears: Vec<M>,
    univariatized_multilinear_evals: &[F],
    univariate_challenge: F,
    sumcheck_challenges: &[F],
    evaluation_domain_factory: impl EvaluationDomainFactory<FDomain>,
    backend: Backend,
) -> Result<Prover<FDomain, P, Backend>, Error>
where F: Field + ExtensionField<FDomain>, FDomain: Field, P: PackedFieldIndexable<Scalar = F> + PackedExtension<FDomain>, M: MultilinearPoly<P> + Send + Sync, Backend: ComputationBackend,
Expand description

Create the sumcheck prover for the univariatizing reduction of multilinears (see verifier side)

This method projects multilinears to first skip_rounds variables, constructs a multilinear extension of Lagrange evaluations at univariate_challenge, and creates a regular sumcheck prover, placing Lagrange evaluation in the last witness column.

Note that univariatized_multilinear_evals come from a previous sumcheck with a univariate first round.