22template <
typename Curve>
struct MultilinearBatchingVerifierClaim;
42 static constexpr bool HasZK =
false;
64 template <
typename FF>
77 static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>();
94 batched_unshifted_accumulator,
95 batched_unshifted_instance,
98 batched_shifted_accumulator,
99 batched_shifted_instance);
103 return RefArray{ batched_unshifted_accumulator, batched_unshifted_instance, eq_accumulator, eq_instance };
126 for (
auto& polynomial : this->get_all()) {
127 polynomial.increase_virtual_size(size_in);
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
CommitmentKey object over a pairing group 𝔾₁.
All polynomials used in multilinear batching sumcheck.
DEFINE_FLAVOR_MEMBERS(DataType, batched_unshifted_accumulator, batched_unshifted_instance, eq_accumulator, eq_instance, batched_shifted_accumulator, batched_shifted_instance)
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
A container for the prover polynomials handles.
void increase_polynomials_virtual_size(const size_t size_in)
size_t get_polynomial_size() const
The proving key for multilinear batching sumcheck.
std::vector< FF > instance_evaluations
std::vector< FF > accumulator_challenge
Commitment shifted_instance_commitment
Polynomial preshifted_instance
ProverPolynomials polynomials
Polynomial preshifted_accumulator
std::vector< FF > accumulator_evaluations
Commitment non_shifted_accumulator_commitment
Commitment non_shifted_instance_commitment
std::vector< FF > instance_challenge
Commitment shifted_accumulator_commitment
static constexpr size_t NUM_ACCUMULATOR_EVALUATIONS
Curve::AffineElement Commitment
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t NUM_SHIFTED_ENTITIES
static constexpr bool IS_MULTILINEAR_BATCHING
Relations_< FF > Relations
static constexpr bool USE_PADDING
static constexpr bool HasZK
Curve::Element GroupElement
static constexpr bool USE_SHORT_MONOMIALS
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_RELATIONS
static constexpr size_t NUM_ACCUMULATOR_COMMITMENTS
std::tuple< bb::MultilinearBatchingAccumulatorRelation< FF >, bb::MultilinearBatchingInstanceRelation< FF > > Relations_
static constexpr size_t VIRTUAL_LOG_N
A container for storing the partially evaluated multivariates produced by sumcheck.
A template class for a reference array. Behaves as if std::array<T&, N> was possible.
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
Representation of the Grumpkin Verifier Commitment Key inside a bn254 circuit.
typename Group::element Element
typename Group::affine_element AffineElement
Base class templates shared across Honk flavors.
Entry point for Barretenberg command-line interface.
BaseTranscript< FrCodec, bb::crypto::Poseidon2< bb::crypto::Poseidon2Bn254ScalarFieldParams > > NativeTranscript
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Prover's claim for multilinear batching - contains polynomials and their evaluation claims.
Commitment non_shifted_commitment
Polynomial shifted_polynomial
Polynomial non_shifted_polynomial
bool compare_with_verifier_claim(const MultilinearBatchingVerifierClaim< curve::BN254 > &verifier_claim)
Debug helper to compare prover claim against verifier claim.
std::vector< FF > challenge
FF non_shifted_evaluation
Commitment shifted_commitment
Verifier's claim for multilinear batching - contains commitments and evaluation claims.