|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <translator_delta_range_constraint_short_relation.hpp>
Public Types | |
| using | FF = FF_ |
Static Public Member Functions | |
| template<typename AllEntities > | |
| static bool | skip (const AllEntities &in) |
| Returns true if the contribution from all subrelations for the provided inputs is identically zero. | |
| template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters > | |
| static void | accumulate (ContainerOverSubrelations &accumulators, const AllEntities &in, const Parameters &, const FF &scaling_factor) |
| Expression for the generalized permutation sort relation. | |
Static Public Attributes | |
| static constexpr size_t | RELATION_LENGTH = 6 |
| static constexpr std::array< size_t, 10 > | SUBRELATION_PARTIAL_LENGTHS |
Definition at line 13 of file translator_delta_range_constraint_short_relation.hpp.
| using bb::TranslatorDeltaRangeConstraintShortRelationImpl< FF_ >::FF = FF_ |
Definition at line 15 of file translator_delta_range_constraint_short_relation.hpp.
|
static |
Expression for the generalized permutation sort relation.
The relation enforces 2 constraints on each of the ordered_range_constraints wires: 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped at the real_last index (lagrange_real_last = 1) and in the ordered masking region (lagrange_ordered_masking = 1). 2) The value at the real_last index is 2¹⁴ - 1. TODO(https://github.com/AztecProtocol/barretenberg/issues/1607): This only enforces <254-bit range constraints, NOT strict <q checks. Values in [q, 2^254) pass verification, potentially creating inconsistency with native/Ultra verification which reject such aliased representations.
The delta constraint uses: not_last_or_masking = 1 - lagrange_real_last - lagrange_ordered_masking which equals 0 when checks should be skipped, and 1 when checks should be enforced. This works because lagrange_real_last and lagrange_ordered_masking have disjoint support.
| evals | transformed to evals + C(in(X)...)*scaling_factor |
| in | an std::array containing the fully extended Univariate edges. |
| parameters | contains beta, gamma, and public_input_delta, .... |
| scaling_factor | optional term to scale the evaluation before adding to evals. |
The relation enforces 2 constraints on each of the ordered_range_constraints wires: 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped at the real_last index (lagrange_real_last = 1) and in the ordered masking region (lagrange_ordered_masking = 1). 2) The value at the real_last index is 2¹⁴ - 1.
| evals | transformed to evals + C(in(X)...)*scaling_factor |
| in | an std::array containing the fully extended Univariate edges. |
| parameters | contains beta, gamma, and public_input_delta, .... |
| scaling_factor | optional term to scale the evaluation before adding to evals. |
Definition at line 28 of file translator_delta_range_constraint_short_relation_impl.hpp.
|
inlinestatic |
Returns true if the contribution from all subrelations for the provided inputs is identically zero.
The ordered_range_constraints wires are sorted ascending, so each is constant across long runs. On an edge where ordered_i is locally constant, delta_i = ordered_i_shift - ordered_i is the zero edge polynomial, so the degree-4 product P(delta_i) = delta_i(delta_i-1)(delta_i-2)(delta_i-3) vanishes identically and the delta-sort subrelation contributes nothing. The max-value subrelations carry a lagrange_real_last factor, so they vanish on any edge where lagrange_real_last is identically zero. We can therefore skip an edge only when all five deltas and lagrange_real_last are identically zero across it. This tests the actual edge values (not a selector), so it is sound in every sumcheck round with no masking-row subtlety.
Definition at line 45 of file translator_delta_range_constraint_short_relation.hpp.
|
staticconstexpr |
Definition at line 19 of file translator_delta_range_constraint_short_relation.hpp.
|
staticconstexpr |
Definition at line 21 of file translator_delta_range_constraint_short_relation.hpp.