pub fn multilinear_eval_prover<'alloc, A, F, P>(
alloc: &'alloc A,
witness: FieldVec<P, A>,
eval_point: &[F],
eval_claim: F,
) -> SharedMleCheckProver<'alloc, A, F, P, MultilinearEvalEvaluator>Expand description
Builds an MLE-check prover for the multilinear extension evaluation of a single multilinear.
The claim is M(z) = s for a multilinear M over the challenge field.
This proves the equivalent MLE-check relation s = sum_{v in B_n} M(v) * eq(v, z).
Since M is multilinear, that relation holds if and only if M(z) = s.
The reduction runs on the split-eq SharedMleCheckProver with a degree-1 evaluator.
Each round expands only a small low-coordinate prefix of the eq indicator.
The higher coordinates are folded in through the prover’s reduction step.
The full 2^{n-1} eq tensor is never materialized, streamed, or folded per round.
§Arguments
witness- the multilinear whose extension is evaluated.eval_point- the point of the evaluation claim.eval_claim- the claimed value of the multilinear extension at that point.
§Panics
Panics if the witness length does not match the evaluation point length.