pub fn prove<Hal, F, FEncode, P, M, NTT, MTScheme, MTProver, Challenger_, HostComputeAllocatorType, DeviceComputeAllocatorType>(
compute_data: &ComputeData<'_, F, Hal, HostComputeAllocatorType, DeviceComputeAllocatorType>,
fri_params: &FRIParams<F, FEncode>,
ntt: &NTT,
merkle_prover: &MTProver,
commit_meta: &CommitMeta,
committed: MTProver::Committed,
codeword: &[P],
committed_multilins: &[M],
transparent_multilins: Vec<FSlice<'_, F, Hal>>,
claims: &[PIOPSumcheckClaim<F>],
transcript: &mut ProverTranscript<Challenger_>,
) -> Result<(), Error>where
F: TowerField,
FEncode: BinaryField,
P: PackedField<Scalar = F> + PackedExtension<F, PackedSubfield = P> + PackedExtension<FEncode> + PackedFieldIndexable<Scalar = F>,
M: MultilinearPoly<P> + Send + Sync,
NTT: AdditiveNTT<FEncode> + Sync,
MTScheme: MerkleTreeScheme<F, Digest: SerializeBytes>,
MTProver: MerkleTreeProver<F, Scheme = MTScheme>,
Challenger_: Challenger,
Hal: ComputeLayer<F>,
HostComputeAllocatorType: ComputeAllocator<F, CpuMemory>,
DeviceComputeAllocatorType: ComputeAllocator<F, Hal::DevMem>,
Expand description
Proves a batch of sumcheck claims that are products of committed polynomials from a committed batch and transparent polynomials.
The arguments corresponding to the committed multilinears must be the output of commit
.