pub fn prove<Hal, U, Tower, Hash, Compress, Challenger_, Backend, HostAllocatorType, DeviceAllocatorType>(
compute_data: &mut ComputeData<'_, Tower::B128, Hal, HostAllocatorType, DeviceAllocatorType>,
constraint_system: &ConstraintSystem<<Tower as TowerFamily>::B128>,
log_inv_rate: usize,
security_bits: usize,
constraint_system_digest: &Output<Hash::Digest>,
boundaries: &[Boundary<<Tower as TowerFamily>::B128>],
table_sizes: &[usize],
witness: MultilinearExtensionIndex<'_, PackedType<U, <Tower as TowerFamily>::B128>>,
backend: &Backend,
) -> Result<Proof, Error>where
Hal: ComputeLayer<Tower::B128> + Default,
U: ProverTowerUnderlier<Tower>,
Tower: ProverTowerFamily,
Tower::B128: TowerTop + PackedTop + PackedTop<Tower> + From<<Tower as ProverTowerFamily>::FastB128>,
Hash: ParallelDigest,
Hash::Digest: BlockSizeUser + FixedOutputReset + Send + Sync + Clone,
Compress: PseudoCompressionFunction<Output<Hash::Digest>, 2> + Default + Sync,
Challenger_: Challenger + Default,
Backend: ComputationBackend,
PackedType<U, Tower::B128>: PackedTop<Tower> + PackedFieldIndexable + RepackedExtension<PackedType<U, Tower::B1>> + RepackedExtension<PackedType<U, Tower::B8>> + RepackedExtension<PackedType<U, Tower::B16>> + RepackedExtension<PackedType<U, Tower::B32>> + RepackedExtension<PackedType<U, Tower::B64>> + RepackedExtension<PackedType<U, Tower::B128>> + PackedTransformationFactory<PackedType<U, Tower::FastB128>> + PackedTop,
PackedType<U, Tower::FastB128>: PackedTransformationFactory<PackedType<U, Tower::B128>>,
HostAllocatorType: ComputeAllocator<Tower::B128, CpuMemory>,
DeviceAllocatorType: ComputeAllocator<Tower::B128, Hal::DevMem>,
Expand description
Generates a proof that a witness satisfies a constraint system with the standard FRI PCS.