pub fn prove<F, P, M, Tower, Transcript, Advice, Backend>(
system: &EvalClaimSystem<'_, F>,
witnesses: &[M],
proof: &mut Proof<Transcript, Advice>,
backend: &Backend,
) -> Result<ReducedWitness<P>, Error>where
F: TowerField + PackedTop<Tower>,
P: PackedFieldIndexable<Scalar = F>,
M: MultilinearPoly<P> + Sync,
Tower: TowerFamily<B128 = F>,
Transcript: CanWrite + CanSample<F>,
Backend: ComputationBackend,