Skip to main content

build_witness_bit_slice_mles

Function build_witness_bit_slice_mles 

Source
pub fn build_witness_bit_slice_mles<F, const D: usize>(
    trace_bin_poly: &[DenseMultilinearExtension<BinaryPoly<D>>],
    field_cfg: &F::Config,
) -> Vec<DenseMultilinearExtension<F::Inner>>
where F: PrimeField, F::Inner: Clone + Send + Sync,
Expand description

Build per-bit-slice MLEs for a set of binary-poly columns.

Returns N * D MLEs in (j-major, i-minor) order: $[v_{0,0}, v_{0,1}, …, v_{0,D-1}, v_{1,0}, …]$. The j-th column, i-th bit MLE evaluates at hypercube point b to the i-th bit of the row entry trace_bin_poly[j][b].

This helper is the single source of truth for MLE ordering. Both the booleanity sumcheck group and the MultipointEval extension call it to guarantee identical ordering between prover and verifier.