Skip to content

Commit daf271b

Browse files
committed
HOL-Light/x86_64: Refine output bound to 3q/4
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
1 parent 03ddefe commit daf271b

3 files changed

Lines changed: 9 additions & 5 deletions

File tree

dev/x86_64/src/arith_native_x86_64.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ __contract__(
5555
requires(array_abs_bound(r, 0, MLDSA_N, 8380417))
5656
requires(qdata == mld_qdata)
5757
assigns(memory_slice(r, sizeof(int32_t) * MLDSA_N))
58-
ensures(array_abs_bound(r, 0, MLDSA_N, 8380417))
58+
/* check-magic: off */
59+
ensures(array_abs_bound(r, 0, MLDSA_N, 6285313))
60+
/* check-magic: on */
5961
);
6062

6163
#define mld_nttunpack_avx2 MLD_NAMESPACE(nttunpack_avx2)

mldsa/src/native/x86_64/src/arith_native_x86_64.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ __contract__(
5555
requires(array_abs_bound(r, 0, MLDSA_N, 8380417))
5656
requires(qdata == mld_qdata)
5757
assigns(memory_slice(r, sizeof(int32_t) * MLDSA_N))
58-
ensures(array_abs_bound(r, 0, MLDSA_N, 8380417))
58+
/* check-magic: off */
59+
ensures(array_abs_bound(r, 0, MLDSA_N, 6285313))
60+
/* check-magic: on */
5961
);
6062

6163
#define mld_nttunpack_avx2 MLD_NAMESPACE(nttunpack_avx2)

proofs/hol_light/x86_64/proofs/mldsa_intt.ml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4305,7 +4305,7 @@ let MLDSA_INTT_CORRECT = prove
43054305
==> let zi =
43064306
read(memory :> bytes32(word_add a (word(4 * i)))) s in
43074307
(ival zi == mldsa_inverse_ntt (ival o x) i) (mod &8380417) /\
4308-
abs(ival zi) <= &8380416))
4308+
abs(ival zi) <= &6285312))
43094309
(MAYCHANGE_REGS_AND_FLAGS_PERMITTED_BY_ABI ,,
43104310
MAYCHANGE [ZMM0; ZMM1; ZMM2; ZMM3; ZMM4; ZMM5; ZMM6; ZMM7; ZMM8; ZMM9; ZMM10; ZMM11; ZMM12; ZMM13; ZMM14; ZMM15] ,,
43114311
MAYCHANGE [RAX] ,, MAYCHANGE SOME_FLAGS ,,
@@ -4477,7 +4477,7 @@ let MLDSA_INTT_NOIBT_SUBROUTINE_CORRECT = prove
44774477
==> let zi =
44784478
read(memory :> bytes32(word_add a (word(4 * i)))) s in
44794479
(ival zi == mldsa_inverse_ntt (ival o x) i) (mod &8380417) /\
4480-
abs(ival zi) <= &8380416))
4480+
abs(ival zi) <= &6285312))
44814481
(MAYCHANGE [RSP] ,, MAYCHANGE_REGS_AND_FLAGS_PERMITTED_BY_ABI ,,
44824482
MAYCHANGE [memory :> bytes(a,1024)])`,
44834483
let TWEAK_CONV = ONCE_DEPTH_CONV WORDLIST_FROM_MEMORY_CONV in
@@ -4510,7 +4510,7 @@ let MLDSA_INTT_SUBROUTINE_CORRECT = prove
45104510
==> let zi =
45114511
read(memory :> bytes32(word_add a (word(4 * i)))) s in
45124512
(ival zi == mldsa_inverse_ntt (ival o x) i) (mod &8380417) /\
4513-
abs(ival zi) <= &8380416))
4513+
abs(ival zi) <= &6285312))
45144514
(MAYCHANGE [RSP] ,, MAYCHANGE_REGS_AND_FLAGS_PERMITTED_BY_ABI ,,
45154515
MAYCHANGE [memory :> bytes(a,1024)])`,
45164516
let TWEAK_CONV = ONCE_DEPTH_CONV WORDLIST_FROM_MEMORY_CONV in

0 commit comments

Comments
 (0)