pub fn quadratic_mlecheck_prover<'alloc, A, F, P, Composition, InfinityComposition, const N: usize>(
alloc: &'alloc A,
multilinears: [FieldVec<P, A>; N],
composition: Composition,
infinity_composition: InfinityComposition,
eval_point: Vec<F>,
eval_claim: F,
) -> SharedMleCheckProver<'alloc, A, F, P, QuadraticMleEvaluator<Composition, InfinityComposition, N>>Expand description
Builds an MLE-check prover for one quadratic composition of N owned multilinears.
The reduced claim is
sum_{v in B} C(M_0(v), ..., M_{N-1}(v)) * eq(v, eval_point) = eval_claimfor composition C over the boolean hypercube B.
It reduces to one evaluation claim per input multilinear at the challenge point.
This is the single-claim path. Several quadratic claims that share columns are instead proved together by registering one evaluator per claim on a shared store, which folds each shared column only once.
§Arguments
multilinears- The N input multilinears, each overeval_point.len()variables.composition- Evaluates the quadratic composition, e.g.|[a, b, c]| a * b - c.infinity_composition- The composition’s highest-degree terms, for the Karatsuba evaluation at infinity, e.g.|[a, b, _c]| a * b.eval_point- The point at which the composite MLE is claimed.eval_claim- The claimed evaluation of the composite MLE ateval_point.
§Returns
A prover whose reduction emits the N column evaluations in the order given.
§Panics
Panics if any multilinear’s variable count differs from eval_point.len(), or if N == 0.