56 static constexpr bool HasZK =
false;
80 static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>();
92 static constexpr size_t NUM_FRS_COM = FrCodec::calc_num_fields<Commitment>();
93 static constexpr size_t NUM_FRS_FR = FrCodec::calc_num_fields<FF>();
107 "\n The constant AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED is now too short\n"
108 "as is smaller than the real AVM v2 proof. Increase the padded constant \n"
109 "in constants.nr accordingly.");
275 :
private AllEntities<std::unique_ptr<bb::Univariate<FF, MAX_PARTIAL_RELATION_LENGTH>>> {
305 template <
typename Commitment_,
typename VerificationKey>
313 for (
auto [commitment,
vk_commitment] :
zip_view(this->get_precomputed(), verification_key->get_all())) {
#define AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
CommitmentKey object over a pairing group 𝔾₁.
Simple verification key class for fixed-size circuits (ECCVM, Translator).
A univariate polynomial represented by its values on {0, 1,..., domain_end - 1}.
Representation of the Grumpkin Verifier Commitment Key inside a bn254 circuit.
DEFINE_AVM_GETTER(unshifted, UNSHIFTED_START_IDX, NUM_UNSHIFTED_ENTITIES)
DEFINE_AVM_GETTER(precomputed, PRECOMPUTED_START_IDX, NUM_PRECOMPUTED_ENTITIES)
std::span< DataType > get_all()
std::span< const DataType > get_all() const
std::span< const std::string > get_labels() const
DEFINE_AVM_GETTER(witness, WITNESS_START_IDX, NUM_WITNESS_ENTITIES)
DEFINE_AVM_GETTER(wires, WIRE_START_IDX, NUM_WIRE_ENTITIES)
DataType & get(ColumnAndShifts c)
const DataType & get(ColumnAndShifts c) const
DEFINE_AVM_GETTER(to_be_shifted, WIRES_TO_BE_SHIFTED_START_IDX, NUM_WIRES_TO_BE_SHIFTED)
DEFINE_AVM_GETTER(derived, DERIVED_START_IDX, NUM_DERIVED_ENTITIES)
std::array< DataType, NUM_ALL_ENTITIES > entities
DEFINE_AVM_GETTER(shifted, SHIFTED_START_IDX, NUM_SHIFTED_ENTITIES)
A container for univariates used during sumcheck.
const ProverPolynomials & multivariates
const bb::Univariate< FF, MAX_PARTIAL_RELATION_LENGTH > & get(ColumnAndShifts c) const
LazilyExtendedProverUnivariates(const ProverPolynomials &multivariates)
void set_current_edge(size_t edge_idx)
PolynomialEntitiesAtFixedRow(const size_t row_idx, const Polynomials &pp)
const auto & get(ColumnAndShifts c) const
std::span< const std::string > get_labels() const
std::span< DataType > get_all()
std::span< const DataType > get_all() const
A container for the prover polynomials handles.
PolynomialEntitiesAtFixedRow< ProverPolynomials > get_row(size_t row_idx) const
ProverPolynomials & operator=(ProverPolynomials &&o) noexcept=default
~ProverPolynomials()=default
ProverPolynomials & operator=(const ProverPolynomials &)=delete
ProverPolynomials()=default
ProverPolynomials(const ProverPolynomials &o)=delete
ProverPolynomials(ProverPolynomials &&o) noexcept=default
std::vector< FF > public_inputs
CommitmentKey commitment_key
std::span< const Polynomial > get_all() const
std::span< Polynomial > get_all()
static constexpr size_t log_circuit_size
static constexpr size_t circuit_size
std::span< const std::string > get_labels() const
typename Polynomial::FF FF
std::vector< Commitment > gemini_fold_comms
void serialize_full_transcript()
std::array< FF, NUM_ALL_ENTITIES > sumcheck_evaluations
std::array< Commitment, NUM_WITNESS_ENTITIES > commitments
void deserialize_full_transcript()
std::vector< bb::Univariate< FF, BATCHED_RELATION_PARTIAL_LENGTH > > sumcheck_univariates
std::vector< FF > gemini_fold_evals
Commitment shplonk_q_comm
VerifierCommitments_(const std::shared_ptr< VerificationKey > &verification_key)
std::span< const std::string > get_labels() const
std::span< DataType > get_all()
std::span< const DataType > get_all() const
AvmFlavorSettings::GroupElement GroupElement
static constexpr bool IS_AVM
tuple_cat_t< MainRelations_< FF_ >, LookupRelations_< FF_ > > Relations_
static constexpr size_t COMPUTED_AVM_PROOF_LENGTH_IN_FIELDS
AvmFlavorSettings::PolynomialHandle PolynomialHandle
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t NUM_SHIFTED_ENTITIES
AvmFlavorSettings::CommitmentHandle CommitmentHandle
static constexpr size_t NUM_FRS_FR
static constexpr bool USE_PADDING
static constexpr bool HasZK
static constexpr size_t NUM_RELATIONS
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t NUM_WIRES
static constexpr bool USE_SHORT_MONOMIALS
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t NUM_FRS_COM
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
AvmFlavorSettings::Commitment Commitment
static constexpr size_t NUM_ALL_ENTITIES
Relations_< FF > Relations
bb::VerifierCommitmentKey< Curve > VerifierCommitmentKey
G1::affine_element CommitmentHandle
G1::affine_element Commitment
bb::Polynomial< FF > Polynomial
std::span< FF > PolynomialHandle
bb::CommitmentKey< Curve > CommitmentKey
Stores the fixed AVM VK commitments (to precomputed polynomials) that depend only on the precomputed ...
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
constexpr auto NUM_WIRE_ENTITIES
decltype(flat_tuple::tuple_cat(std::declval< input_t >()...)) tuple_cat_t
constexpr auto NUM_UNSHIFTED_ENTITIES
constexpr std::size_t MAX_AVM_TRACE_SIZE
constexpr auto WITNESS_START_IDX
constexpr auto NUM_WIRES_TO_BE_SHIFTED
constexpr std::size_t MAX_AVM_TRACE_LOG_SIZE
constexpr auto NUM_DERIVED_ENTITIES
constexpr auto WIRES_TO_BE_SHIFTED_START_IDX
constexpr auto DERIVED_START_IDX
const std::vector< std::string > & COLUMN_NAMES
constexpr auto PRECOMPUTED_START_IDX
constexpr auto UNSHIFTED_START_IDX
constexpr auto WIRE_START_IDX
constexpr auto SHIFTED_START_IDX
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
constexpr auto tuple_cat(T &&... ts)
static constexpr size_t NUM_SHIFTED_ENTITIES
static constexpr size_t NUM_WIRES
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES