Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
relation_types.hpp File Reference
#include "barretenberg/ecc/curves/bn254/fr.hpp"
#include "nested_containers.hpp"
#include <algorithm>

Go to the source code of this file.

Classes

class  bb::Relation< RelationImpl >
 A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribution of a given relation to the corresponding accumulator. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 

Concepts

concept  bb::IsProverAccumulator
 True for the accumulator type used by the sumcheck PROVER, as opposed to either verifier.
 
concept  bb::HasSubrelationLinearlyIndependentMember
 
concept  bb::isSkippable
 The templates defined herein facilitate sharing the relation arithmetic between the prover and the verifier.
 
concept  bb::isRowSkippable
 Check if the flavor has a static skip method to determine if accumulation of all relations can be skipped for a given row.
 
concept  bb::IsOffsetOnlyRelation
 A relation is "offset-only" if its contribution enters the round univariate scaled by L(x) = L_0 + L_1 + L_2 + L_3 — the indicator of the offset-area rows 0 .. NUM_DISABLED_ROWS_IN_SUMCHECK - 1.
 

Functions

template<typename Relation , size_t subrelation_index>
constexpr bool bb::subrelation_is_linearly_independent ()
 Check whether a given subrelation is linearly independent from the other subrelations.