pub fn validate_witness<F, P, M, Composition>(
    multilinears: &[M],
    zero_claims: impl IntoIterator<Item = Composition>
) -> Result<(), Error>
where F: Field, P: PackedField<Scalar = F>, M: MultilinearPoly<P> + Send + Sync, Composition: CompositionPoly<P>,