From c2dd6bc706e1aadcd722429d238bc8df61b6f1e5 Mon Sep 17 00:00:00 2001 From: Rumata888 Date: Wed, 11 Oct 2023 17:56:57 +0000 Subject: [PATCH 1/2] feat: Goblin translator opcode constraint and accumulator transfer relations (Goblin Translator part 5) --- .../relations/extra_relations.hpp | 197 ++++++++++++++++++ ...n_translator_relation_consistency.test.cpp | 75 +++++++ .../relations/relation_parameters.hpp | 8 +- 3 files changed, 279 insertions(+), 1 deletion(-) create mode 100644 barretenberg/cpp/src/barretenberg/proof_system/relations/extra_relations.hpp diff --git a/barretenberg/cpp/src/barretenberg/proof_system/relations/extra_relations.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/extra_relations.hpp new file mode 100644 index 00000000000..c2c9f32cc9e --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/proof_system/relations/extra_relations.hpp @@ -0,0 +1,197 @@ +#pragma once +#include "barretenberg/numeric/uint256/uint256.hpp" +#include "relation_parameters.hpp" +#include "relation_types.hpp" + +namespace proof_system { + +template class GoblinTranslatorOpcodeConstraintRelationImpl { + public: + using FF = FF_; + + // 1 + polynomial degree of this relation + static constexpr size_t RELATION_LENGTH = 7; // degree(op(op - 1)(op - 2)(op - 3)(op - 4)(op - 8)) = 6 + static constexpr size_t LEN_1 = 7; + + template