binius_core::protocols::v2::greedy_evalcheck_v2

Function prove

source
pub fn prove<U, F, DomainField, Challenger, Backend>(
    oracles: &mut MultilinearOracleSet<F>,
    witness_index: &mut MultilinearExtensionIndex<'_, U, F>,
    claims: impl IntoIterator<Item = EvalcheckMultilinearClaim<F>>,
    switchover_fn: impl Fn(usize) -> usize + Clone + 'static,
    challenger: &mut Challenger,
    domain_factory: impl EvaluationDomainFactory<DomainField>,
    backend: Backend,
) -> Result<GreedyEvalcheckProveOutput<F>, Error>
where U: UnderlierType + PackScalar<F> + PackScalar<DomainField>, F: TowerField + ExtensionField<DomainField>, PackedType<U, F>: PackedFieldIndexable, DomainField: TowerField, Challenger: CanObserve<F> + CanSample<F>, Backend: ComputationBackend,