pub fn verify<F, Challenger>(
    oracles: &mut MultilinearOracleSet<F>,
    claims: impl IntoIterator<Item = EvalcheckClaim<F>>,
    proof: GreedyEvalcheckProof<F>,
    challenger: Challenger
) -> Result<Vec<(BatchId, SameQueryPcsClaim<F>)>, Error>
where F: TowerField, Challenger: CanObserve<F> + CanSample<F>,