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