Skip to content

Commit da5f60b

Browse files
Ubuntuclaude
authored andcommitted
HOL Light eta4: fix SUBROUTINE_CORRECT tactic shape
Match s2n-bignum's mldsa_rej_uniform_eta4 upstream: drop the leading REWRITE_TAC[fst EXEC] and CONV_RULE LENGTH_SIMPLIFY_CONV wrappers, use ~pre_post_nsteps:(1,1) and stack offset 576 (was (1,2) and 0). Verified locally under nix: proof completes in ~14 min. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Ubuntu <ubuntu@claude.local>
1 parent 6d84308 commit da5f60b

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

proofs/hol_light/aarch64/proofs/rej_uniform_eta4_aarch64_asm.ml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3672,13 +3672,9 @@ let MLDSA_REJ_UNIFORM_ETA4_CORRECT = prove
36723672
[DISJ1_TAC THEN ASM_REWRITE_TAC[]; ALL_TAC] THEN
36733673
ASM_REWRITE_TAC[]]]);;
36743674

3675-
let LENGTH_SIMPLIFY_CONV =
3676-
REWRITE_CONV[LENGTH_MLDSA_REJ_UNIFORM_ETA4_MC] THENC
3677-
NUM_REDUCE_CONV THENC REWRITE_CONV [ADD_0];;
3678-
36793675
(* ------------------------------------------------------------------------- *)
3680-
(* Subroutine form: includes stack frame allocation/deallocation and return. *)
3681-
(* C signature: uint64_t mld_rej_uniform_eta4_asm(int32_t *r, *)
3676+
(* Subroutine form: includes stack frame allocation/deallocation and return. *)
3677+
(* C signature: uint64_t mld_rej_uniform_eta4_aarch64_asm(int32_t *r, *)
36823678
(* const uint8_t *buf, unsigned buflen, const uint8_t table[4096]); *)
36833679
(* ------------------------------------------------------------------------- *)
36843680

@@ -3712,9 +3708,9 @@ let MLDSA_REJ_UNIFORM_ETA4_SUBROUTINE_CORRECT = prove
37123708
(MAYCHANGE_REGS_AND_FLAGS_PERMITTED_BY_ABI ,,
37133709
MAYCHANGE [memory :> bytes(res,1024);
37143710
memory :> bytes(word_sub stackpointer (word 576),576)])`,
3715-
REWRITE_TAC[fst MLDSA_REJ_UNIFORM_ETA4_EXEC] THEN
3716-
ARM_ADD_RETURN_STACK_TAC ~pre_post_nsteps:(1,2)
3717-
MLDSA_REJ_UNIFORM_ETA4_EXEC
3718-
(REWRITE_RULE[fst MLDSA_REJ_UNIFORM_ETA4_EXEC]
3719-
(CONV_RULE LENGTH_SIMPLIFY_CONV MLDSA_REJ_UNIFORM_ETA4_CORRECT))
3720-
`[]` 0);;
3711+
ARM_ADD_RETURN_STACK_TAC
3712+
~pre_post_nsteps:(1,1)
3713+
MLDSA_REJ_UNIFORM_ETA4_EXEC
3714+
(REWRITE_RULE[fst MLDSA_REJ_UNIFORM_ETA4_EXEC]
3715+
MLDSA_REJ_UNIFORM_ETA4_CORRECT)
3716+
`[]:((armstate,int64)component)list` 576);;

0 commit comments

Comments
 (0)