From 2cad52fe8009ef73b3ce8aa7ff597de861d03b5f Mon Sep 17 00:00:00 2001 From: Rumata888 Date: Wed, 11 Oct 2023 17:56:57 +0000 Subject: [PATCH] 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 000000000000..c2c9f32cc9ea --- /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