@@ -238,17 +238,7 @@ __contract__(
238
238
requires (memory_no_alias (a , sizeof (int16_t ) * 2 * MLKEM_N ))
239
239
requires (memory_no_alias (b , sizeof (int16_t ) * 2 * MLKEM_N ))
240
240
requires (memory_no_alias (b_cache , sizeof (int16_t ) * 2 * (MLKEM_N / 2 )))
241
- /* Because of https://github.com/diffblue/cbmc/issues/8570, we can't
242
- * just use a single flattened array_bound(...) here.
243
- *
244
- * Once fixed, change to:
245
- * ```
246
- * requires(array_bound(a, 0, 2 * MLKEM_N, 0, MLKEM_UINT12_LIMIT))
247
- * ```
248
- */
249
- requires (forall (kN , 0 , 2 , \
250
- array_bound (& ((int16_t (* )[MLKEM_N ])(a ))[kN ][0 ], 0 , MLKEM_N , \
251
- 0 , MLKEM_UINT12_LIMIT )))
241
+ requires (array_bound (a , 0 , 2 * MLKEM_N , 0 , MLKEM_UINT12_LIMIT ))
252
242
assigns (memory_slice (r , sizeof (int16_t ) * MLKEM_N ))
253
243
);
254
244
#endif /* MLK_MULTILEVEL_BUILD_WITH_SHARED || MLKEM_K == 2 */
@@ -281,17 +271,7 @@ __contract__(
281
271
requires (memory_no_alias (a , sizeof (int16_t ) * 3 * MLKEM_N ))
282
272
requires (memory_no_alias (b , sizeof (int16_t ) * 3 * MLKEM_N ))
283
273
requires (memory_no_alias (b_cache , sizeof (int16_t ) * 3 * (MLKEM_N / 2 )))
284
- /* Because of https://github.com/diffblue/cbmc/issues/8570, we can't
285
- * just use a single flattened array_bound(...) here.
286
- *
287
- * Once fixed, change to:
288
- * ```
289
- * requires(array_bound(a, 0, 3 * MLKEM_N, 0, MLKEM_UINT12_LIMIT))
290
- * ```
291
- */
292
- requires (forall (kN , 0 , 3 , \
293
- array_bound (& ((int16_t (* )[MLKEM_N ])(a ))[kN ][0 ], 0 , MLKEM_N , \
294
- 0 , MLKEM_UINT12_LIMIT )))
274
+ requires (array_bound (a , 0 , 3 * MLKEM_N , 0 , MLKEM_UINT12_LIMIT ))
295
275
assigns (memory_slice (r , sizeof (int16_t ) * MLKEM_N ))
296
276
);
297
277
#endif /* MLK_MULTILEVEL_BUILD_WITH_SHARED || MLKEM_K == 3 */
@@ -324,17 +304,7 @@ __contract__(
324
304
requires (memory_no_alias (a , sizeof (int16_t ) * 4 * MLKEM_N ))
325
305
requires (memory_no_alias (b , sizeof (int16_t ) * 4 * MLKEM_N ))
326
306
requires (memory_no_alias (b_cache , sizeof (int16_t ) * 4 * (MLKEM_N / 2 )))
327
- /* Because of https://github.com/diffblue/cbmc/issues/8570, we can't
328
- * just use a single flattened array_bound(...) here.
329
- *
330
- * Once fixed, change to:
331
- * ```
332
- * requires(array_bound(a, 0, 4 * MLKEM_N, 0, MLKEM_UINT12_LIMIT))
333
- * ```
334
- */
335
- requires (forall (kN , 0 , 4 , \
336
- array_bound (& ((int16_t (* )[MLKEM_N ])(a ))[kN ][0 ], 0 , MLKEM_N , \
337
- 0 , MLKEM_UINT12_LIMIT )))
307
+ requires (array_bound (a , 0 , 4 * MLKEM_N , 0 , MLKEM_UINT12_LIMIT ))
338
308
assigns (memory_slice (r , sizeof (int16_t ) * MLKEM_N ))
339
309
);
340
310
#endif /* MLK_MULTILEVEL_BUILD_WITH_SHARED || MLKEM_K == 4 */
0 commit comments