binius_core::piop::commit

Function collect_committed_witnesses

Source
pub fn collect_committed_witnesses<'a, U, F>(
    commit_meta: &CommitMeta,
    oracle_to_commit_index: &SparseIndex<usize>,
    oracles: &MultilinearOracleSet<F>,
    witness_index: &MultilinearExtensionIndex<'a, U, F>,
) -> Result<Vec<MultilinearWitness<'a, PackedType<U, F>>>, Error>
Expand description

Collects the committed multilinear witnesses from the witness index and returns them in order.

During the commitment phase of the protocol, the trace polynomials are committed in a specific order recorded by the commit metadata. This collects the witnesses corresponding to committed multilinears and returns a vector of them in the commitment order.

ยงPreconditions

  • oracle_to_commit_index must be correctly constructed. Specifically, it must be surjective, mapping at exactly one oracle to every index up to the number of committed multilinears.