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

The recursive counterpart of the native Translator flavor. More...

#include <translator_recursive_flavor.hpp>

Classes

class  AllValues
 A field element for each entity of the flavor. These entities represent the prover polynomials evaluated at one point. More...
 

Public Types

using CircuitBuilder = UltraCircuitBuilder
 
using Curve = stdlib::bn254< CircuitBuilder >
 
using PCS = KZG< Curve >
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using FF = Curve::ScalarField
 
using BF = Curve::BaseField
 
using SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 >
 
using NativeFlavor = TranslatorFlavor
 
using NativeVerificationKey = NativeFlavor::VerificationKey
 
using Relations = TranslatorFlavor::Relations_< FF >
 
using VerificationKey = FixedStdlibVKAndHash_< CircuitBuilder, TranslatorFlavor::VKEntities< Commitment >, NativeVerificationKey >
 The verification key is responsible for storing the commitments to the precomputed (non-witness) polynomials used by the verifier.
 
using WitnessCommitments = TranslatorFlavor::WitnessEntities< Commitment >
 A container for the witness commitments.
 
using CommitmentLabels = TranslatorFlavor::CommitmentLabels
 
using VerifierCommitments = TranslatorFlavor::VerifierCommitments_< Commitment, VerificationKey >
 
using Transcript = UltraStdlibTranscript
 
using VKAndHash = VKAndHash_< VerificationKey, FF >
 

Static Public Member Functions

template<typename FFType >
static void set_minicircuit_evaluations (NativeFlavor::AllEntities< FFType > &evals, const std::array< FFType, NUM_MINICIRCUIT_EVALUATIONS > &mid)
 
template<typename FFType >
static void complete_full_circuit_evaluations (NativeFlavor::AllEntities< FFType > &evals, const std::array< FFType, NUM_FULL_CIRCUIT_EVALUATIONS > &full_circuit, std::span< const FFType > challenge)
 

Static Public Attributes

static constexpr size_t NUM_SUBRELATIONS = TranslatorFlavor::NUM_SUBRELATIONS
 
static constexpr bool HasZK = true
 
static constexpr size_t NUM_LIMB_BITS = NativeFlavor::NUM_LIMB_BITS
 
static constexpr size_t NUM_ALL_ENTITIES = NativeFlavor::NUM_ALL_ENTITIES
 
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = NativeFlavor::REPEATED_COMMITMENTS
 
static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = NativeFlavor::NUM_MINICIRCUIT_EVALUATIONS
 
static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NativeFlavor::NUM_FULL_CIRCUIT_EVALUATIONS
 
static constexpr size_t LOG_MINI_CIRCUIT_SIZE = NativeFlavor::LOG_MINI_CIRCUIT_SIZE
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = NativeFlavor::BATCHED_RELATION_PARTIAL_LENGTH
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 

Detailed Description

The recursive counterpart of the native Translator flavor.

is flavor can be used to instantiate a recursive Translator verifier for a proof created using the Translator flavor. It is similar in structure to its native counterpart with two main differences: 1) the curve types are stdlib types (e.g. field_t instead of field) and 2) it does not specify any Prover related types (e.g. Polynomial, ExtendedEdges, etc.) since we do not emulate prover computation in circuits, i.e. it only makes sense to instantiate a Verifier with this flavor. We reuse the native flavor to initialize identical constructions.

Template Parameters
BuilderTypeDetermines the arithmetization of the verifier circuit defined based on this flavor.

Definition at line 30 of file translator_recursive_flavor.hpp.

Member Typedef Documentation

◆ BF

◆ CircuitBuilder

◆ Commitment

◆ CommitmentLabels

◆ Curve

◆ FF

◆ GroupElement

◆ NativeFlavor

◆ NativeVerificationKey

◆ PCS

◆ Relations

◆ SubrelationSeparators

◆ Transcript

◆ VerificationKey

The verification key is responsible for storing the commitments to the precomputed (non-witness) polynomials used by the verifier.

Definition at line 101 of file translator_recursive_flavor.hpp.

◆ VerifierCommitments

◆ VKAndHash

◆ WitnessCommitments

A container for the witness commitments.

Definition at line 107 of file translator_recursive_flavor.hpp.

Member Function Documentation

◆ complete_full_circuit_evaluations()

template<typename FFType >
static void bb::TranslatorRecursiveFlavor::complete_full_circuit_evaluations ( NativeFlavor::AllEntities< FFType > &  evals,
const std::array< FFType, NUM_FULL_CIRCUIT_EVALUATIONS > &  full_circuit,
std::span< const FFType >  challenge 
)
inlinestatic

Definition at line 71 of file translator_recursive_flavor.hpp.

◆ set_minicircuit_evaluations()

template<typename FFType >
static void bb::TranslatorRecursiveFlavor::set_minicircuit_evaluations ( NativeFlavor::AllEntities< FFType > &  evals,
const std::array< FFType, NUM_MINICIRCUIT_EVALUATIONS > &  mid 
)
inlinestatic

Definition at line 64 of file translator_recursive_flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

constexpr size_t bb::TranslatorRecursiveFlavor::BATCHED_RELATION_PARTIAL_LENGTH = NativeFlavor::BATCHED_RELATION_PARTIAL_LENGTH
staticconstexpr

Definition at line 85 of file translator_recursive_flavor.hpp.

◆ HasZK

constexpr bool bb::TranslatorRecursiveFlavor::HasZK = true
staticconstexpr

Definition at line 47 of file translator_recursive_flavor.hpp.

◆ LOG_MINI_CIRCUIT_SIZE

constexpr size_t bb::TranslatorRecursiveFlavor::LOG_MINI_CIRCUIT_SIZE = NativeFlavor::LOG_MINI_CIRCUIT_SIZE
staticconstexpr

Definition at line 61 of file translator_recursive_flavor.hpp.

◆ MAX_PARTIAL_RELATION_LENGTH

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

Definition at line 80 of file translator_recursive_flavor.hpp.

◆ NUM_ALL_ENTITIES

constexpr size_t bb::TranslatorRecursiveFlavor::NUM_ALL_ENTITIES = NativeFlavor::NUM_ALL_ENTITIES
staticconstexpr

Definition at line 54 of file translator_recursive_flavor.hpp.

◆ NUM_FULL_CIRCUIT_EVALUATIONS

constexpr size_t bb::TranslatorRecursiveFlavor::NUM_FULL_CIRCUIT_EVALUATIONS = NativeFlavor::NUM_FULL_CIRCUIT_EVALUATIONS
staticconstexpr

Definition at line 60 of file translator_recursive_flavor.hpp.

◆ NUM_LIMB_BITS

constexpr size_t bb::TranslatorRecursiveFlavor::NUM_LIMB_BITS = NativeFlavor::NUM_LIMB_BITS
staticconstexpr

Definition at line 51 of file translator_recursive_flavor.hpp.

◆ NUM_MINICIRCUIT_EVALUATIONS

constexpr size_t bb::TranslatorRecursiveFlavor::NUM_MINICIRCUIT_EVALUATIONS = NativeFlavor::NUM_MINICIRCUIT_EVALUATIONS
staticconstexpr

Definition at line 59 of file translator_recursive_flavor.hpp.

◆ NUM_RELATIONS

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

Definition at line 86 of file translator_recursive_flavor.hpp.

◆ NUM_SUBRELATIONS

constexpr size_t bb::TranslatorRecursiveFlavor::NUM_SUBRELATIONS = TranslatorFlavor::NUM_SUBRELATIONS
staticconstexpr

Definition at line 40 of file translator_recursive_flavor.hpp.

◆ REPEATED_COMMITMENTS

constexpr RepeatedCommitmentsData bb::TranslatorRecursiveFlavor::REPEATED_COMMITMENTS = NativeFlavor::REPEATED_COMMITMENTS
staticconstexpr

Definition at line 56 of file translator_recursive_flavor.hpp.


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