pub fn verify<G: KimchiCurve, OpeningProof: OpenProof<G>, EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, EFrSponge: FrSponge<G::ScalarField>, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const NPUB: usize, ID: LookupTableID>(
domain: EvaluationDomains<G::ScalarField>,
srs: &OpeningProof::SRS,
constraints: &Vec<E<G::ScalarField>>,
fixed_selectors: Box<[Vec<G::ScalarField>; N_FSEL]>,
proof: &Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>,
public_inputs: Witness<NPUB, Vec<G::ScalarField>>
) -> boolwhere
OpeningProof::SRS: Sync,