Struct kimchi_msm::logup::prover::Env
source · pub struct Env<G: KimchiCurve, ID: LookupTableID> {Show 14 fields
pub lookup_counters_poly_d1: BTreeMap<ID, Vec<DensePolynomial<G::ScalarField>>>,
pub lookup_counters_comm_d1: BTreeMap<ID, Vec<PolyComm<G>>>,
pub lookup_terms_poly_d1: BTreeMap<ID, Vec<DensePolynomial<G::ScalarField>>>,
pub lookup_terms_comms_d1: BTreeMap<ID, Vec<PolyComm<G>>>,
pub lookup_aggregation_poly_d1: DensePolynomial<G::ScalarField>,
pub lookup_aggregation_comm_d1: PolyComm<G>,
pub lookup_counters_evals_d8: BTreeMap<ID, Vec<Evaluations<G::ScalarField, D<G::ScalarField>>>>,
pub lookup_terms_evals_d8: BTreeMap<ID, Vec<Evaluations<G::ScalarField, D<G::ScalarField>>>>,
pub lookup_aggregation_evals_d8: Evaluations<G::ScalarField, D<G::ScalarField>>,
pub fixed_lookup_tables_poly_d1: BTreeMap<ID, DensePolynomial<G::ScalarField>>,
pub fixed_lookup_tables_comms_d1: BTreeMap<ID, PolyComm<G>>,
pub fixed_lookup_tables_evals_d8: BTreeMap<ID, Evaluations<G::ScalarField, D<G::ScalarField>>>,
pub joint_combiner: G::ScalarField,
pub beta: G::ScalarField,
}
Expand description
Represents the environment for the logup argument.
Fields§
§lookup_counters_poly_d1: BTreeMap<ID, Vec<DensePolynomial<G::ScalarField>>>
The polynomial of the multiplicities, indexed by the table ID.
lookup_counters_comm_d1: BTreeMap<ID, Vec<PolyComm<G>>>
The commitments to the multiplicities, indexed by the table ID.
lookup_terms_poly_d1: BTreeMap<ID, Vec<DensePolynomial<G::ScalarField>>>
The polynomials of the inner sums.
lookup_terms_comms_d1: BTreeMap<ID, Vec<PolyComm<G>>>
The commitments of the inner sums.
lookup_aggregation_poly_d1: DensePolynomial<G::ScalarField>
The aggregation polynomial.
lookup_aggregation_comm_d1: PolyComm<G>
The commitment to the aggregation polynomial.
lookup_counters_evals_d8: BTreeMap<ID, Vec<Evaluations<G::ScalarField, D<G::ScalarField>>>>
§lookup_terms_evals_d8: BTreeMap<ID, Vec<Evaluations<G::ScalarField, D<G::ScalarField>>>>
§lookup_aggregation_evals_d8: Evaluations<G::ScalarField, D<G::ScalarField>>
§fixed_lookup_tables_poly_d1: BTreeMap<ID, DensePolynomial<G::ScalarField>>
§fixed_lookup_tables_comms_d1: BTreeMap<ID, PolyComm<G>>
§fixed_lookup_tables_evals_d8: BTreeMap<ID, Evaluations<G::ScalarField, D<G::ScalarField>>>
§joint_combiner: G::ScalarField
The combiner used for vector lookups
beta: G::ScalarField
The evaluation point used for the lookup polynomials.
Implementations§
source§impl<G: KimchiCurve, ID: LookupTableID> Env<G, ID>
impl<G: KimchiCurve, ID: LookupTableID> Env<G, ID>
sourcepub fn create<OpeningProof: OpenProof<G>, Sponge: FqSponge<G::BaseField, G, G::ScalarField>>(
lookups: BTreeMap<ID, LogupWitness<G::ScalarField, ID>>,
domain: EvaluationDomains<G::ScalarField>,
fq_sponge: &mut Sponge,
srs: &OpeningProof::SRS
) -> Selfwhere
OpeningProof::SRS: Sync,
pub fn create<OpeningProof: OpenProof<G>, Sponge: FqSponge<G::BaseField, G, G::ScalarField>>( lookups: BTreeMap<ID, LogupWitness<G::ScalarField, ID>>, domain: EvaluationDomains<G::ScalarField>, fq_sponge: &mut Sponge, srs: &OpeningProof::SRS ) -> Selfwhere OpeningProof::SRS: Sync,
Create an environment for the prover to create a proof for the Logup protocol. The protocol does suppose that the individual lookup terms are committed as part of the columns. Therefore, the protocol only focus on commiting to the “grand product sum” and the “row-accumulated” values.
Auto Trait Implementations§
impl<G, ID> RefUnwindSafe for Env<G, ID>where G: RefUnwindSafe, ID: RefUnwindSafe, <G as AffineRepr>::ScalarField: RefUnwindSafe,
impl<G, ID> Send for Env<G, ID>
impl<G, ID> Sync for Env<G, ID>
impl<G, ID> Unpin for Env<G, ID>where G: Unpin, <G as AffineRepr>::ScalarField: Unpin,
impl<G, ID> UnwindSafe for Env<G, ID>where G: UnwindSafe + RefUnwindSafe, ID: RefUnwindSafe, <G as AffineRepr>::ScalarField: UnwindSafe + RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more