Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TranslatorFlavor::AllEntities< DataType > Class Template Reference

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...

#include <translator_flavor.hpp>

Inheritance diagram for bb::TranslatorFlavor::AllEntities< DataType >:
bb::TranslatorFlavor::MaskingEntities< DataType > bb::TranslatorFlavor::PrecomputedEntities< DataType_ > bb::TranslatorFlavor::WitnessEntities< DataType > bb::TranslatorFlavor::ShiftedEntities< DataType > bb::TranslatorFlavor::DerivedShiftedEntities< DataType > bb::TranslatorFlavor::NonOpQueueShiftedEntities< DataType > bb::TranslatorFlavor::OpQueueShiftedEntities< DataType > bb::TranslatorFlavor::ConcatenatedPolynomials< DataType > bb::TranslatorFlavor::DerivedWitnessEntities< DataType > bb::TranslatorFlavor::OrderedRangeConstraints< DataType > bb::TranslatorFlavor::WireToBeShiftedEntities< DataType > bb::TranslatorFlavor::WireNonshiftedEntities< DataType > bb::TranslatorFlavor::AllValues bb::TranslatorFlavor::CommitmentLabels bb::TranslatorFlavor::ProverPolynomials bb::TranslatorFlavor::VerifierCommitments_< Commitment, VerificationKey > bb::TranslatorRecursiveFlavor::AllValues

Public Member Functions

 DEFINE_COMPOUND_GET_ALL (MaskingEntities< DataType >, PrecomputedEntities< DataType >, WitnessEntities< DataType >, ShiftedEntities< DataType >) auto get_concatenated()
 Getter for concatenated polynomials.
 
auto get_ordered_range_constraints ()
 Getter for the ordered entities used in computing the denominator of the grand product in the permutation relation.
 
auto get_pcs_unshifted ()
 All unshifted polynomials for PCS (excludes computable precomputed, includes concatenated).
 
auto get_pcs_to_be_shifted ()
 All to-be-shifted polynomials for PCS (base to-be-shifted + concatenated).
 
auto get_shifted ()
 
auto get_pcs_shifted ()
 
auto get_full_circuit_entities ()
 Full-circuit entities sent in the proof (excludes computable precomputed, minicircuit wires, and concatenated polys whose evals are reconstructed from wire evals).
 
auto get_minicircuit_wires ()
 The 77 minicircuit wires (unshifted): NonRangeMain(13) + RangeConstraint(64).
 
auto get_minicircuit_wires_shifted ()
 The 77 minicircuit wire shifts: corresponds 1:1 with get_minicircuit_wires().
 
- Public Member Functions inherited from bb::TranslatorFlavor::PrecomputedEntities< DataType_ >
bool operator== (const PrecomputedEntities &other) const =default
 
 DEFINE_FLAVOR_MEMBERS (DataType, ordered_extra_range_constraints_numerator, lagrange_first, lagrange_last, lagrange_odd_in_minicircuit, lagrange_even_in_minicircuit, lagrange_result_row, lagrange_last_in_minicircuit, lagrange_masking, lagrange_mini_masking, lagrange_real_last, lagrange_ordered_masking)
 
- Public Member Functions inherited from bb::TranslatorFlavor::WitnessEntities< DataType >
 DEFINE_COMPOUND_GET_ALL (WireNonshiftedEntities< DataType >, WireToBeShiftedEntities< DataType >, OrderedRangeConstraints< DataType >, DerivedWitnessEntities< DataType >, ConcatenatedPolynomials< DataType >) auto get_wires()
 Entities constructed from circuit data.
 
auto get_non_opqueue_wires_and_ordered_range_constraints ()
 Concatenated polynomials and ordered range constraints (committed to by translator prover).
 
auto get_all_to_be_shifted ()
 All polys that need shifted views for Sumcheck (corresponds 1:1 with ShiftedEntities).
 
auto get_concatenated ()
 Get the concatenated polynomials.
 
std::vector< RefVector< DataType > > get_groups_to_be_concatenated ()
 Get all minicircuit wire polynomials that are concatenated into the 5 concatenated polys.
 
- Public Member Functions inherited from bb::TranslatorFlavor::OpQueueWireNonshiftedEntities< DataType >
 DEFINE_FLAVOR_MEMBERS (DataType, op)
 
- Public Member Functions inherited from bb::TranslatorFlavor::RangeConstraintWires< DataType >
 DEFINE_FLAVOR_MEMBERS (DataType, p_x_low_limbs_range_constraint_0, p_x_low_limbs_range_constraint_1, p_x_low_limbs_range_constraint_2, p_x_low_limbs_range_constraint_3, p_x_low_limbs_range_constraint_4, p_x_low_limbs_range_constraint_tail, p_x_high_limbs_range_constraint_0, p_x_high_limbs_range_constraint_1, p_x_high_limbs_range_constraint_2, p_x_high_limbs_range_constraint_3, p_x_high_limbs_range_constraint_4, p_x_high_limbs_range_constraint_tail, p_y_low_limbs_range_constraint_0, p_y_low_limbs_range_constraint_1, p_y_low_limbs_range_constraint_2, p_y_low_limbs_range_constraint_3, p_y_low_limbs_range_constraint_4, p_y_low_limbs_range_constraint_tail, p_y_high_limbs_range_constraint_0, p_y_high_limbs_range_constraint_1, p_y_high_limbs_range_constraint_2, p_y_high_limbs_range_constraint_3, p_y_high_limbs_range_constraint_4, p_y_high_limbs_range_constraint_tail, z_low_limbs_range_constraint_0, z_low_limbs_range_constraint_1, z_low_limbs_range_constraint_2, z_low_limbs_range_constraint_3, z_low_limbs_range_constraint_4, z_low_limbs_range_constraint_tail, z_high_limbs_range_constraint_0, z_high_limbs_range_constraint_1, z_high_limbs_range_constraint_2, z_high_limbs_range_constraint_3, z_high_limbs_range_constraint_4, z_high_limbs_range_constraint_tail, accumulator_low_limbs_range_constraint_0, accumulator_low_limbs_range_constraint_1, accumulator_low_limbs_range_constraint_2, accumulator_low_limbs_range_constraint_3, accumulator_low_limbs_range_constraint_4, accumulator_low_limbs_range_constraint_tail, accumulator_high_limbs_range_constraint_0, accumulator_high_limbs_range_constraint_1, accumulator_high_limbs_range_constraint_2, accumulator_high_limbs_range_constraint_3, accumulator_high_limbs_range_constraint_4, accumulator_high_limbs_range_constraint_tail, quotient_low_limbs_range_constraint_0, quotient_low_limbs_range_constraint_1, quotient_low_limbs_range_constraint_2, quotient_low_limbs_range_constraint_3, quotient_low_limbs_range_constraint_4, quotient_low_limbs_range_constraint_tail, quotient_high_limbs_range_constraint_0, quotient_high_limbs_range_constraint_1, quotient_high_limbs_range_constraint_2, quotient_high_limbs_range_constraint_3, quotient_high_limbs_range_constraint_4, quotient_high_limbs_range_constraint_tail, relation_wide_limbs_range_constraint_0, relation_wide_limbs_range_constraint_1, relation_wide_limbs_range_constraint_2, relation_wide_limbs_range_constraint_3)
 
- Public Member Functions inherited from bb::TranslatorFlavor::OrderedRangeConstraints< DataType >
 DEFINE_FLAVOR_MEMBERS (DataType, ordered_range_constraints_0, ordered_range_constraints_1, ordered_range_constraints_2, ordered_range_constraints_3, ordered_range_constraints_4)
 
- Public Member Functions inherited from bb::TranslatorFlavor::DerivedWitnessEntities< DataType >
 DEFINE_FLAVOR_MEMBERS (DataType, z_perm)
 
- Public Member Functions inherited from bb::TranslatorFlavor::ShiftedEntities< DataType >
 DEFINE_COMPOUND_GET_ALL (OpQueueShiftedEntities< DataType >, NonOpQueueShiftedEntities< DataType >, DerivedShiftedEntities< DataType >) auto get_pcs_shifted()
 PCS-level shifted evaluations matching get_to_be_shifted(): op_queue(3) + ordered_range(5) + z_perm(1) = 9.
 
std::vector< RefVector< DataType > > get_groups_to_be_concatenated_shifted ()
 Get the shifted versions of minicircuit wires organized into 5 concatenation groups.
 

Friends

std::ostream & operator<< (std::ostream &os, const AllEntities &a)
 

Additional Inherited Members

- Public Types inherited from bb::TranslatorFlavor::PrecomputedEntities< DataType_ >
using DataType = DataType_
 

Detailed Description

template<typename DataType>
class bb::TranslatorFlavor::AllEntities< DataType >

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.

Used to build containers for: the prover's polynomial during sumcheck; the sumcheck's folded polynomials; the univariates consturcted during during sumcheck; the evaluations produced by sumcheck.

Symbolically we have: AllEntities = PrecomputedEntities + WitnessEntities + ShiftedEntities + MaskingEntities.

Definition at line 573 of file translator_flavor.hpp.

Member Function Documentation

◆ DEFINE_COMPOUND_GET_ALL()

template<typename DataType >
bb::TranslatorFlavor::AllEntities< DataType >::DEFINE_COMPOUND_GET_ALL ( MaskingEntities< DataType ,
PrecomputedEntities< DataType ,
WitnessEntities< DataType ,
ShiftedEntities< DataType  
)
inline

Getter for concatenated polynomials.

Definition at line 578 of file translator_flavor.hpp.

◆ get_full_circuit_entities()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_full_circuit_entities ( )
inline

Full-circuit entities sent in the proof (excludes computable precomputed, minicircuit wires, and concatenated polys whose evals are reconstructed from wire evals).

Masking(1) + ordered_extra(1) + op(1) + OpQueueTBS(3) + OrderedRange(5) + z_perm(1)

  • pcs_shifted(9) = 21

Definition at line 636 of file translator_flavor.hpp.

◆ get_minicircuit_wires()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_minicircuit_wires ( )
inline

The 77 minicircuit wires (unshifted): NonRangeMain(13) + RangeConstraint(64).

Definition at line 650 of file translator_flavor.hpp.

◆ get_minicircuit_wires_shifted()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_minicircuit_wires_shifted ( )
inline

The 77 minicircuit wire shifts: corresponds 1:1 with get_minicircuit_wires().

Definition at line 655 of file translator_flavor.hpp.

◆ get_ordered_range_constraints()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_ordered_range_constraints ( )
inline

Getter for the ordered entities used in computing the denominator of the grand product in the permutation relation.

Definition at line 592 of file translator_flavor.hpp.

◆ get_pcs_shifted()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_pcs_shifted ( )
inline

Definition at line 628 of file translator_flavor.hpp.

◆ get_pcs_to_be_shifted()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_pcs_to_be_shifted ( )
inline

All to-be-shifted polynomials for PCS (base to-be-shifted + concatenated).

op_queue_shifted(3) + ordered(5) + z_perm(1) + concat(5) = 14

Definition at line 619 of file translator_flavor.hpp.

◆ get_pcs_unshifted()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_pcs_unshifted ( )
inline

All unshifted polynomials for PCS (excludes computable precomputed, includes concatenated).

masking(1) + ordered_extra(1) + op(1) + op_queue_tbs(3) + ordered(5) + z_perm(1) + concat(5) = 17

The op-queue to-be-shifted wires (x_lo_y_hi, x_hi_z_1, y_lo_z_2) appear here in addition to get_pcs_to_be_shifted because the decomposition relation reads them both unshifted (e.g. x_lo) and shift-by-1 (e.g. y_hi) at the same row. Without registering the unshifted opening, the unshifted MLE evaluations at the sumcheck point would be unconstrained.

Definition at line 603 of file translator_flavor.hpp.

◆ get_shifted()

template<typename DataType >
auto bb::TranslatorFlavor::AllEntities< DataType >::get_shifted ( )
inline

Definition at line 627 of file translator_flavor.hpp.

Friends And Related Symbol Documentation

◆ operator<<

template<typename DataType >
std::ostream & operator<< ( std::ostream &  os,
const AllEntities< DataType > &  a 
)
friend

Definition at line 657 of file translator_flavor.hpp.


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