barretenberg
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
proof_system::honk::ProverInstance_< Flavor > Class Template Reference

An Instance is normally constructed from a finalized circuit and it's role is to compute all the polynomials involved in creating a proof and, if requested, the verification key. In case of folded Instance, this will be created from the FoldingResult, the aggregated work from the folding prover and verifier. More specifically, a folded instance will be constructed from the complete set of folded polynomials and folded public inputs and its FoldingParams are expected to be non-zero. More...

#include <prover_instance.hpp>

Public Member Functions

 ProverInstance_ (Circuit &circuit)
 
void initialize_prover_polynomials ()
 
void compute_sorted_accumulator_polynomials (FF)
 
void compute_sorted_list_accumulator (FF)
 Construct sorted list accumulator polynomial 's'.
 
void compute_logderivative_inverse (FF, FF)
 Compute the inverse polynomial used in the log derivative lookup argument.
 
void compute_grand_product_polynomials (FF, FF)
 

Public Attributes

std::shared_ptr< ProvingKey > proving_key
 
std::shared_ptr< VerificationKey > verification_key
 
ProverPolynomials prover_polynomials
 
WitnessCommitments witness_commitments
 
CommitmentLabels commitment_labels
 
std::array< Polynomial, 4 > sorted_polynomials
 
std::vector< FF > public_inputs
 
size_t pub_inputs_offset = 0
 
FF alpha
 
proof_system::RelationParameters< FF > relation_parameters
 
std::vector< uint32_t > recursive_proof_public_input_indices
 
FoldingParameters folding_parameters
 
bool is_accumulator = false
 
size_t instance_size
 
size_t log_instance_size
 

Detailed Description

template<class Flavor>
class proof_system::honk::ProverInstance_< Flavor >

An Instance is normally constructed from a finalized circuit and it's role is to compute all the polynomials involved in creating a proof and, if requested, the verification key. In case of folded Instance, this will be created from the FoldingResult, the aggregated work from the folding prover and verifier. More specifically, a folded instance will be constructed from the complete set of folded polynomials and folded public inputs and its FoldingParams are expected to be non-zero.

Member Function Documentation

◆ compute_logderivative_inverse()

template<class Flavor >
requires IsGoblinFlavor<Flavor>
void proof_system::honk::ProverInstance_< Flavor >::compute_logderivative_inverse ( FF  beta,
FF  gamma 
)

Compute the inverse polynomial used in the log derivative lookup argument.

Template Parameters
Flavor
Parameters
beta
gamma

◆ compute_sorted_list_accumulator()

template<class Flavor >
void proof_system::honk::ProverInstance_< Flavor >::compute_sorted_list_accumulator ( FF  eta)

Construct sorted list accumulator polynomial 's'.

Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 (via Horner) where s_i are the sorted concatenated witness/table polynomials

Parameters
keyproving key
sorted_list_polynomialssorted concatenated witness/table polynomials
etarandom challenge
Returns
Polynomial

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