pub fn prove_phase_1<F, P, Channel, A>(
key_collection: &KeyCollection,
words: SegmentWords<'_>,
prepared: &PreparedOperandClaims<F>,
oblong_weights: &[F],
channel: &mut Channel,
alloc: &A,
) -> Phase1Output<F>Expand description
Proves the first phase of the shift reduction.
Builds the witness-and-batching multilinear for both segments and concatenates their rows. One sumcheck then runs over their product, against a weight table that is never materialized.
§Arguments
key_collection: the prover’s key collection for the constraint system.words: the value-vector words.prepared: the prepared claim of each operation, indexed by the operation a key names.oblong_weights: the weights of the reduction’s first factor, one per bit position.channel: the prover channel the interactive rounds run over.alloc: the allocator the intermediate buffers are drawn from.
§Returns
The challenge point split into its axes, alongside the leftover weights. Also the two evaluations this phase reduced to.