pub trait AbstractSumcheckWitness<PW: PackedField> {
type MultilinearId: Clone + Hash + Eq + Sync;
type Composition: CompositionPoly<PW>;
type Multilinear: MultilinearPoly<PW> + Send + Sync;
// Required methods
fn composition(&self) -> &Self::Composition;
fn multilinears(
&self,
seq_id: usize,
claim_multilinear_ids: &[Self::MultilinearId],
) -> Result<impl IntoIterator<Item = (Self::MultilinearId, Self::Multilinear)>, Error>;
}
Expand description
Polynomial must be representable as a composition of multilinear polynomials
Required Associated Types§
sourcetype MultilinearId: Clone + Hash + Eq + Sync
type MultilinearId: Clone + Hash + Eq + Sync
Some identifier of a multilinear witness that is used to deduplicate the witness index when folding.
type Composition: CompositionPoly<PW>
type Multilinear: MultilinearPoly<PW> + Send + Sync
Required Methods§
fn composition(&self) -> &Self::Composition
sourcefn multilinears(
&self,
seq_id: usize,
claim_multilinear_ids: &[Self::MultilinearId],
) -> Result<impl IntoIterator<Item = (Self::MultilinearId, Self::Multilinear)>, Error>
fn multilinears( &self, seq_id: usize, claim_multilinear_ids: &[Self::MultilinearId], ) -> Result<impl IntoIterator<Item = (Self::MultilinearId, Self::Multilinear)>, Error>
Extract multilinear witnesses out of composite sumcheck witness.
Arguments:
seq_id
: Sequential id of the sumcheck instance in a batch (treat as if assigned arbitrarily)claim_multilinear_ids
: Multilinear identifiers extracted from a claim.
Object Safety§
This trait is not object safe.