42 template <
typename Builder>
static bool check(
const Builder& builder_in);
47 using Key = std::array<FF, 4>;
66 template <
typename Builder>
74 template <
typename Builder>
static bool relaxed_check_memory_relation(
Builder&
builder);
75 template <
typename Builder>
static bool relaxed_check_delta_range_relation(
Builder&
builder);
87 template <
typename Relation>
static bool check_relation(
auto& values,
auto& params);
95 static bool check_lookup(
auto& values,
auto& lookup_hash_table);
134 template <
typename Builder>
164 for (
const auto& gate_idx :
builder.memory_read_records) {
167 for (
const auto& gate_idx :
builder.memory_write_records) {
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
std::unordered_set< Key, HashFunction > LookupHashTable
static bool check_databus_read(auto &values, Builder &builder)
Check that the {index, value} pair contained in a databus read gate reflects the actual value present...
static bool check_relation(auto &values, auto ¶ms)
Check that a given relation is satisfied for the provided inputs corresponding to a single row.
static bool check_tag_data(const TagCheckData &tag_data)
Check whether the left and right running tag products are equal.
static bool check_lookup(auto &values, auto &lookup_hash_table)
Check whether the values in a lookup gate are contained within a corresponding hash table.
static auto init_empty_values()
Helper for initializing an empty AllValues container of the right Flavor based on Builder.
static void populate_values(Builder &builder, auto &block, auto &values, TagCheckData &tag_data, MemoryCheckData &memory_data, size_t idx)
Populate the values required to check the correctness of a single "row" of the circuit.
static bool check(const Builder &builder_in)
Check the correctness of a circuit witness.
static Builder prepare_circuit(const Builder &builder_in)
Copy the builder and finalize it before checking its validity.
static bool check_block(Builder &builder, auto &block, TagCheckData &tag_data, MemoryCheckData &memory_data, LookupHashTable &lookup_hash_table)
Checks that the provided witness satisfies all gates contained in a single execution trace block.
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
size_t operator()(const Key &entry) const
Struct for managing memory record data for ensuring RAM/ROM correctness.
std::unordered_set< size_t > read_record_gates
std::unordered_set< size_t > write_record_gates
MemoryCheckData(const auto &builder)
Struct for managing the running tag product data for ensuring tag correctness.
std::unordered_set< size_t > encountered_variables
static constexpr field one()
static field random_element(numeric::RNG *engine=nullptr) noexcept
BB_INLINE constexpr field sqr() const noexcept
BB_INLINE constexpr field reduce_once() const noexcept