Barretenberg
The ZK-SNARK library at the core of Aztec
|
This file contains the template for the generic lookup that can be specialized to enforce various lookups (for explanation on how to define them, see "relation_definer.hpp") More...
#include <array>
#include <tuple>
#include "barretenberg/common/constexpr_utils.hpp"
#include "barretenberg/honk/proof_system/logderivative_library.hpp"
#include "barretenberg/polynomials/univariate.hpp"
#include "barretenberg/relations/relation_types.hpp"
Go to the source code of this file.
Classes | |
class | bb::GenericLookupRelationImpl< Settings, FF_ > |
Specifies positions of elements in the tuple of entities received from methods in the Settings class. More... | |
Namespaces | |
namespace | bb |
Entry point for Barretenberg command-line interface. | |
Typedefs | |
template<typename Settings , typename FF > | |
using | bb::GenericLookupRelation = Relation< GenericLookupRelationImpl< Settings, FF > > |
template<typename Settings , typename FF > | |
using | bb::GenericLookup = GenericLookupRelationImpl< Settings, FF > |
This file contains the template for the generic lookup that can be specialized to enforce various lookups (for explanation on how to define them, see "relation_definer.hpp")
Lookup is a mechanism to ensure that a particular value or tuple of values (these can be values of witnesses, selectors or a function of these) is contained within a particular set. It is a relative of set permutation, but has a one-to-many relationship beween elements that are being looked up and the table of values they are being looked up from. In this relation template we use the following terminology:
TODO(@Rumata888): Talk to Zac why "lookup_read_count" refers to the count of the looked up element in the multiset. (The value is applied to the write predicate, so it is confusing).
Definition in file generic_lookup_relation.hpp.