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