pub fn new<'alloc, A, F, P>(
alloc: &'alloc A,
layer: FieldVec<P, A>,
pad_len: usize,
eval_point: Vec<F>,
claim: F,
) -> OnePadMleCheckProver<F, impl MleCheckProver<F> + 'alloc>Expand description
Creates the prover for one padded product-check layer.
§Arguments
layer- The unpadded child layer, whose low and high halves on its highest variable are the two multilinears whose product this layer reduces.pad_len- Length ofeval_point’s padding segment. Zero leaves the inner reduction uncorrected.eval_point- The padded layer’s claim point,[padding | real].claim- The padded layer’s claimed evaluation ateval_point.
§Preconditions
layer.log_len() >= 1eval_point.len() == layer.log_len() - 1 + pad_len
§Panics
Panics if the padding segment’s equality weight $q$ is zero, which requires one of its coordinates — all verifier challenges — to equal one, and so happens with probability at most $\nu / |K|$.