18 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
19 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
20 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
21 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 3, 3
24 template <
typename AllEntities>
inline static bool skip(
const AllEntities& in)
28 return (in.get(C::keccakf1600_sel)).is_zero();
31 template <
typename ContainerOverSubrelations,
typename AllEntities>
32 void static accumulate(ContainerOverSubrelations& evals,
33 const AllEntities& in,
35 [[maybe_unused]]
const FF& scaling_factor);
40 static constexpr const std::string_view
NAME =
"keccakf1600";
146 return "SEL_ON_START_OR_END";
148 return "TRACE_CONTINUITY";
150 return "START_AFTER_LATCH";
152 return "SEL_NO_ERROR";
154 return "END_ON_ERROR";
156 return "KECCAK_ROUND_INCREMENT";
158 return "THETA_XOR_ROW_MSB_0_BOOLEAN";
160 return "THETA_XOR_ROW_ROTL1_0";
162 return "THETA_XOR_ROW_MSB_1_BOOLEAN";
164 return "THETA_XOR_ROW_ROTL1_1";
166 return "THETA_XOR_ROW_MSB_2_BOOLEAN";
168 return "THETA_XOR_ROW_ROTL1_2";
170 return "THETA_XOR_ROW_MSB_3_BOOLEAN";
172 return "THETA_XOR_ROW_ROTL1_3";
174 return "THETA_XOR_ROW_MSB_4_BOOLEAN";
176 return "THETA_XOR_ROW_ROTL1_4";
178 return "STATE_RHO_01";
180 return "STATE_RHO_02";
182 return "STATE_RHO_03";
184 return "STATE_RHO_04";
186 return "STATE_RHO_10";
188 return "STATE_RHO_11";
190 return "STATE_RHO_12";
192 return "STATE_RHO_13";
194 return "STATE_RHO_14";
196 return "STATE_RHO_20";
198 return "STATE_RHO_21";
200 return "STATE_RHO_22";
202 return "STATE_RHO_23";
204 return "STATE_RHO_24";
206 return "STATE_RHO_30";
208 return "STATE_RHO_31";
210 return "STATE_RHO_32";
212 return "STATE_RHO_33";
214 return "STATE_RHO_34";
216 return "STATE_RHO_40";
218 return "STATE_RHO_41";
220 return "STATE_RHO_42";
222 return "STATE_RHO_43";
224 return "STATE_RHO_44";
226 return "STATE_PI_NOT_00";
228 return "STATE_PI_NOT_01";
230 return "STATE_PI_NOT_02";
232 return "STATE_PI_NOT_03";
234 return "STATE_PI_NOT_04";
236 return "STATE_PI_NOT_10";
238 return "STATE_PI_NOT_11";
240 return "STATE_PI_NOT_12";
242 return "STATE_PI_NOT_13";
244 return "STATE_PI_NOT_14";
246 return "STATE_PI_NOT_20";
248 return "STATE_PI_NOT_21";
250 return "STATE_PI_NOT_22";
252 return "STATE_PI_NOT_23";
254 return "STATE_PI_NOT_24";
256 return "STATE_PI_NOT_30";
258 return "STATE_PI_NOT_31";
260 return "STATE_PI_NOT_32";
262 return "STATE_PI_NOT_33";
264 return "STATE_PI_NOT_34";
266 return "STATE_PI_NOT_40";
268 return "STATE_PI_NOT_41";
270 return "STATE_PI_NOT_42";
272 return "STATE_PI_NOT_43";
274 return "STATE_PI_NOT_44";
276 return "NEXT_STATE_IN_00";
278 return "NEXT_STATE_IN_01";
280 return "NEXT_STATE_IN_02";
282 return "NEXT_STATE_IN_03";
284 return "NEXT_STATE_IN_04";
286 return "NEXT_STATE_IN_10";
288 return "NEXT_STATE_IN_11";
290 return "NEXT_STATE_IN_12";
292 return "NEXT_STATE_IN_13";
294 return "NEXT_STATE_IN_14";
296 return "NEXT_STATE_IN_20";
298 return "NEXT_STATE_IN_21";
300 return "NEXT_STATE_IN_22";
302 return "NEXT_STATE_IN_23";
304 return "NEXT_STATE_IN_24";
306 return "NEXT_STATE_IN_30";
308 return "NEXT_STATE_IN_31";
310 return "NEXT_STATE_IN_32";
312 return "NEXT_STATE_IN_33";
314 return "NEXT_STATE_IN_34";
316 return "NEXT_STATE_IN_40";
318 return "NEXT_STATE_IN_41";
320 return "NEXT_STATE_IN_42";
322 return "NEXT_STATE_IN_43";
324 return "NEXT_STATE_IN_44";
328 return "DST_ADDR_PROPAGATION";
330 return "CLK_PROPAGATION";
332 return "SPACE_ID_PROPAGATION";
334 return "SEL_NO_ERROR_PROPAGATION";
336 return "SEL_SLICE_READ";
338 return "SEL_SLICE_WRITE";
340 return "ROUND_COUNT_AT_WRITE";
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
static constexpr size_t SR_STATE_RHO_20
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_0
static constexpr size_t SR_NEXT_STATE_IN_10
static constexpr size_t SR_SEL_NO_ERROR
static constexpr size_t SR_NEXT_STATE_IN_41
static constexpr size_t SR_STATE_RHO_14
static constexpr size_t SR_STATE_PI_NOT_12
static constexpr size_t SR_NEXT_STATE_IN_21
static constexpr size_t SR_STATE_PI_NOT_01
static constexpr size_t SR_STATE_RHO_44
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_2
static constexpr size_t SR_STATE_PI_NOT_00
static constexpr size_t SR_NEXT_STATE_IN_04
static constexpr size_t SR_NEXT_STATE_IN_33
static constexpr size_t SR_STATE_PI_NOT_11
static constexpr size_t SR_STATE_PI_NOT_10
static constexpr size_t SR_KECCAK_ROUND_INCREMENT
static constexpr size_t SR_STATE_RHO_22
static constexpr size_t SR_NEXT_STATE_IN_34
static constexpr size_t SR_THETA_XOR_ROW_MSB_4_BOOLEAN
static constexpr size_t SR_STATE_RHO_11
static constexpr size_t SR_NEXT_STATE_IN_20
static constexpr size_t SR_STATE_RHO_12
static constexpr size_t SR_STATE_PI_NOT_20
static std::string get_subrelation_label(size_t index)
static constexpr size_t SR_STATE_PI_NOT_03
static constexpr size_t SR_THETA_XOR_ROW_MSB_3_BOOLEAN
static constexpr const std::string_view NAME
static constexpr size_t SR_CLK_PROPAGATION
static constexpr size_t SR_STATE_PI_NOT_32
static constexpr size_t SR_STATE_PI_NOT_02
static constexpr size_t SR_NEXT_STATE_IN_23
static constexpr size_t SR_NEXT_STATE_IN_02
static constexpr size_t SR_STATE_PI_NOT_04
static constexpr size_t SR_NEXT_STATE_IN_01
static constexpr size_t SR_SEL_NO_ERROR_PROPAGATION
static constexpr size_t SR_STATE_PI_NOT_23
static constexpr size_t SR_STATE_RHO_24
static constexpr size_t SR_STATE_RHO_21
static constexpr size_t SR_STATE_RHO_04
static constexpr size_t SR_STATE_PI_NOT_22
static constexpr size_t SR_STATE_RHO_13
static constexpr size_t SR_STATE_RHO_02
static constexpr size_t SR_ROUND_COUNT_AT_WRITE
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_4
static constexpr size_t SR_STATE_RHO_43
static constexpr size_t SR_STATE_PI_NOT_43
static constexpr size_t SR_NEXT_STATE_IN_14
static constexpr size_t SR_SEL_SLICE_READ
static constexpr size_t SR_NEXT_STATE_IN_43
static constexpr size_t SR_NEXT_STATE_IN_32
static constexpr size_t SR_STATE_PI_NOT_42
static constexpr size_t SR_SEL_ON_START_OR_END
static constexpr size_t SR_STATE_PI_NOT_14
static constexpr size_t SR_SEL_SLICE_WRITE
static constexpr size_t SR_STATE_PI_NOT_13
static constexpr size_t SR_STATE_RHO_42
static constexpr size_t SR_THETA_XOR_ROW_MSB_1_BOOLEAN
static constexpr size_t SR_STATE_RHO_10
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_3
static constexpr size_t SR_STATE_PI_NOT_21
static constexpr size_t SR_STATE_RHO_32
static constexpr size_t SR_STATE_RHO_33
static constexpr size_t SR_STATE_PI_NOT_41
static constexpr size_t SR_STATE_PI_NOT_30
static constexpr size_t SR_NEXT_STATE_IN_13
static constexpr size_t SR_STATE_RHO_34
static constexpr size_t SR_END_ON_ERROR
static constexpr size_t SR_DST_ADDR_PROPAGATION
static constexpr size_t SR_NEXT_STATE_IN_30
static constexpr size_t SR_STATE_PI_NOT_34
static constexpr size_t SR_STATE_PI_NOT_33
static constexpr size_t SR_NEXT_STATE_IN_00
static constexpr size_t SR_STATE_PI_NOT_31
static constexpr size_t SR_STATE_RHO_31
static constexpr size_t SR_STATE_RHO_41
static constexpr size_t SR_STATE_PI_NOT_40
static constexpr size_t SR_STATE_RHO_01
static constexpr size_t SR_NEXT_STATE_IN_42
static constexpr size_t SR_STATE_PI_NOT_44
static constexpr size_t SR_NEXT_STATE_IN_40
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_1
static constexpr size_t SR_STATE_RHO_23
static constexpr size_t SR_STATE_RHO_40
static constexpr size_t SR_START_AFTER_LATCH
static constexpr size_t SR_ERROR
static constexpr size_t SR_NEXT_STATE_IN_11
static constexpr size_t SR_STATE_RHO_03
static constexpr size_t SR_STATE_PI_NOT_24
static constexpr size_t SR_NEXT_STATE_IN_44
static constexpr size_t SR_NEXT_STATE_IN_24
static constexpr size_t SR_THETA_XOR_ROW_MSB_0_BOOLEAN
static constexpr size_t SR_TRACE_CONTINUITY
static constexpr size_t SR_NEXT_STATE_IN_12
static constexpr size_t SR_NEXT_STATE_IN_03
static constexpr size_t SR_THETA_XOR_ROW_MSB_2_BOOLEAN
static constexpr size_t SR_NEXT_STATE_IN_22
static constexpr size_t SR_STATE_RHO_30
static constexpr size_t SR_NEXT_STATE_IN_31
static constexpr size_t SR_SPACE_ID_PROPAGATION
static constexpr std::array< size_t, 130 > SUBRELATION_PARTIAL_LENGTHS
static bool skip(const AllEntities &in)
static void accumulate(ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &, const FF &scaling_factor)
std::string to_string(bb::avm2::ValueTag tag)
Container for parameters used by the grand product (permutation, lookup) Honk relations.