Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::MultilinearBatchingFlavor Class Reference

#include <multilinear_batching_flavor.hpp>

Classes

class  AllEntities
 A base class labelling all entities (for instance, all of the polynomials used by the prover during sumcheck) in this Honk variant along with particular subsets of interest. More...
 
class  AllValues
 A field element for each entity of the flavor. These entities represent the prover polynomials evaluated at one point. More...
 
class  CommitmentLabels
 A container for commitment labels. More...
 
struct  ProverClaim
 Prover's claim for multilinear batching - contains polynomials and their evaluation claims. More...
 
class  ProverPolynomials
 A container for the prover polynomials handles. More...
 
class  ProvingKey
 The proving key for multilinear batching sumcheck. More...
 
class  ShiftedEntities
 Class for ShiftedEntities, containing the shifted witness polynomials. More...
 
class  WitnessEntities
 Container for all witness polynomials used/constructed by the prover. More...
 

Public Types

using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using PCS = KZG< Curve >
 
using Polynomial = bb::Polynomial< FF >
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve >
 
using Transcript = NativeTranscript
 
template<typename FF >
using Relations_ = std::tuple< bb::MultilinearBatchingAccumulatorRelation< FF >, bb::MultilinearBatchingInstanceRelation< FF > >
 
using Relations = Relations_< FF >
 
using SubrelationSeparator = FF
 
using PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariatesBase< AllEntities< Polynomial >, ProverPolynomials, Polynomial >
 A container for storing the partially evaluated multivariates produced by sumcheck.
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used in sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using WitnessCommitments = WitnessEntities< Commitment >
 A container for the witness commitments.
 

Static Public Member Functions

static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS ()
 

Static Public Attributes

static constexpr size_t VIRTUAL_LOG_N = CONST_FOLDING_LOG_N
 
static constexpr bool USE_SHORT_MONOMIALS = false
 
static constexpr bool HasZK = false
 
static constexpr bool IS_MULTILINEAR_BATCHING = true
 
static constexpr bool USE_PADDING = true
 
static constexpr size_t NUM_ALL_ENTITIES = 6
 
static constexpr size_t NUM_WITNESS_ENTITIES = 4
 
static constexpr size_t NUM_SHIFTED_ENTITIES = 2
 
static constexpr size_t NUM_ACCUMULATOR_EVALUATIONS = 2
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr size_t num_frs_comm = FrCodec::calc_num_fields<Commitment>()
 
static constexpr size_t num_frs_fr = FrCodec::calc_num_fields<FF>()
 

Detailed Description

Definition at line 23 of file multilinear_batching_flavor.hpp.

Member Typedef Documentation

◆ Commitment

◆ CommitmentKey

◆ Curve

◆ ExtendedEdges

A container for univariates produced during the hot loop in sumcheck.

Definition at line 250 of file multilinear_batching_flavor.hpp.

◆ FF

◆ GroupElement

◆ PartiallyEvaluatedMultivariates

A container for storing the partially evaluated multivariates produced by sumcheck.

Definition at line 238 of file multilinear_batching_flavor.hpp.

◆ PCS

◆ Polynomial

◆ ProverUnivariates

A container for univariates used in sumcheck.

During folding and sumcheck, the prover evaluates the relations on these univariates.

Definition at line 245 of file multilinear_batching_flavor.hpp.

◆ Relations

◆ Relations_

◆ SubrelationSeparator

◆ Transcript

◆ VerifierCommitmentKey

◆ WitnessCommitments

A container for the witness commitments.

Definition at line 255 of file multilinear_batching_flavor.hpp.

Member Function Documentation

◆ PROOF_LENGTH_WITHOUT_PUB_INPUTS()

static constexpr size_t bb::MultilinearBatchingFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS ( )
inlinestaticconstexpr

Definition at line 77 of file multilinear_batching_flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

constexpr size_t bb::MultilinearBatchingFlavor::BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
staticconstexpr

Definition at line 67 of file multilinear_batching_flavor.hpp.

◆ HasZK

constexpr bool bb::MultilinearBatchingFlavor::HasZK = false
staticconstexpr

Definition at line 40 of file multilinear_batching_flavor.hpp.

◆ IS_MULTILINEAR_BATCHING

constexpr bool bb::MultilinearBatchingFlavor::IS_MULTILINEAR_BATCHING = true
staticconstexpr

Definition at line 42 of file multilinear_batching_flavor.hpp.

◆ MAX_PARTIAL_RELATION_LENGTH

constexpr size_t bb::MultilinearBatchingFlavor::MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
staticconstexpr

Definition at line 63 of file multilinear_batching_flavor.hpp.

◆ NUM_ACCUMULATOR_EVALUATIONS

constexpr size_t bb::MultilinearBatchingFlavor::NUM_ACCUMULATOR_EVALUATIONS = 2
staticconstexpr

Definition at line 54 of file multilinear_batching_flavor.hpp.

◆ NUM_ALL_ENTITIES

constexpr size_t bb::MultilinearBatchingFlavor::NUM_ALL_ENTITIES = 6
staticconstexpr

Definition at line 48 of file multilinear_batching_flavor.hpp.

◆ num_frs_comm

constexpr size_t bb::MultilinearBatchingFlavor::num_frs_comm = FrCodec::calc_num_fields<Commitment>()
staticconstexpr

Definition at line 74 of file multilinear_batching_flavor.hpp.

◆ num_frs_fr

constexpr size_t bb::MultilinearBatchingFlavor::num_frs_fr = FrCodec::calc_num_fields<FF>()
staticconstexpr

Definition at line 75 of file multilinear_batching_flavor.hpp.

◆ NUM_RELATIONS

constexpr size_t bb::MultilinearBatchingFlavor::NUM_RELATIONS = std::tuple_size_v<Relations>
staticconstexpr

Definition at line 68 of file multilinear_batching_flavor.hpp.

◆ NUM_SHIFTED_ENTITIES

constexpr size_t bb::MultilinearBatchingFlavor::NUM_SHIFTED_ENTITIES = 2
staticconstexpr

Definition at line 52 of file multilinear_batching_flavor.hpp.

◆ NUM_SUBRELATIONS

constexpr size_t bb::MultilinearBatchingFlavor::NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
staticconstexpr

Definition at line 71 of file multilinear_batching_flavor.hpp.

◆ NUM_WITNESS_ENTITIES

constexpr size_t bb::MultilinearBatchingFlavor::NUM_WITNESS_ENTITIES = 4
staticconstexpr

Definition at line 50 of file multilinear_batching_flavor.hpp.

◆ USE_PADDING

constexpr bool bb::MultilinearBatchingFlavor::USE_PADDING = true
staticconstexpr

Definition at line 45 of file multilinear_batching_flavor.hpp.

◆ USE_SHORT_MONOMIALS

constexpr bool bb::MultilinearBatchingFlavor::USE_SHORT_MONOMIALS = false
staticconstexpr

Definition at line 38 of file multilinear_batching_flavor.hpp.

◆ VIRTUAL_LOG_N

constexpr size_t bb::MultilinearBatchingFlavor::VIRTUAL_LOG_N = CONST_FOLDING_LOG_N
staticconstexpr

Definition at line 37 of file multilinear_batching_flavor.hpp.


The documentation for this class was generated from the following file: