Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::IsOffsetOnlyRelation Concept Reference

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

#include <relation_types.hpp>

Concept definition

template<typename Relation>
concept bb::IsOffsetOnlyRelation = requires {
{ Relation::IS_OFFSET_ONLY } -> std::convertible_to<bool>;
requires Relation::IS_OFFSET_ONLY;
}
A relation is "offset-only" if its contribution enters the round univariate scaled by L(x) = L_0 + L_...
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13

Detailed Description

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.

Main-domain relations are scaled by (1 - L); offset-only relations by L. Per Lagrange orthogonality, main-domain contributions vanish on the offset area and offset-only contributions vanish elsewhere. A relation opts in by declaring static constexpr bool IS_OFFSET_ONLY = true;; without the tag it defaults to main-domain.

Typical use: boundary conditions of the form "entity = 0 on rows 0..3", made verifier-checkable without altering sumcheck behavior for flavors that omit the tag.

Definition at line 117 of file relation_types.hpp.