Repository navigation
HOL-Light: Align various proofs with other proofs - #1404
Conversation
These theorems were assembled by rewriting the result of prove, rather than being proved outright. Align with the other proofs, to enable #1009 Statements are unchanged. Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
The six subroutine-level theorems in the rej_uniform proofs were bound to the result of a let-block or of ADD_IBT_RULE rather than to prove diverging from what we do in mlkem-native. Align them to enable #1009. Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
Several proofs carried prefixes that had drifted from their filenames, e.g. POLY_USE_HINT_32_AARCH64_ASM_CORRECT in mldsa_poly_use_hint_32_aarch64_asm.ml and MLDSA_DECOMPOSE32_CORRECT in mldsa_poly_decompose_32_avx2_asm.ml. Preparation for #1009, whose theorem check derives the expected names from the filename. Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
CBMC Results (ML-DSA-65, REDUCE-RAM)
Full Results (210 proofs)
|
CBMC Results (ML-DSA-44, REDUCE-RAM)
Full Results (210 proofs)
|
CBMC Results (ML-DSA-87, REDUCE-RAM)
Full Results (210 proofs)
|
CBMC Results (ML-DSA-44)
Full Results (210 proofs)
|
CBMC Results (ML-DSA-65)
Full Results (210 proofs)
|
Add a lint check deriving the theorem names each proof file should declare from its filename, so a missing or misnamed theorem fails linting instead of going unnoticed. The theorems are enumerated with the same list_thms.sh mlkem-native uses; both scripts are now identical across the two repositories. - Depends on proof alignment in #1404 Co-authored-by: Andreas Hatziiliou <andreas.hatziiliou@savoirfairelinux.com> Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
CBMC Results (ML-DSA-87)
Full Results (210 proofs)
|
| REWRITE_TAC[MAYCHANGE_REGS_AND_FLAGS_PERMITTED_BY_ABI; SOME_FLAGS] THEN | ||
| PROVE_SAFETY_SPEC_TAC ~public_vars:public_vars | ||
| MLDSA_INTT_TMC_EXEC));; | ||
| let full_spec = |
There was a problem hiding this comment.
I don't yet see the necessity of this rewrite. This is an interim result, not a top-level statement, or not?
There was a problem hiding this comment.
The rewrite is only to make linting easier: #1009
There was a problem hiding this comment.
(as stated in the commit message)
There was a problem hiding this comment.
Do you think we should not lint interim results?
hanno-becker
left a comment
There was a problem hiding this comment.
Thank you for this cleanup. I'd appreciate if we could inspect what this type_invention ref manipulation is about -- it seems wrong -- but I'm also OK opening a follow-up issue for that.
Add a lint check deriving the theorem names each proof file should declare from its filename, so a missing or misnamed theorem fails linting instead of going unnoticed. The theorems are enumerated with the same list_thms.sh mlkem-native uses; both scripts are now identical across the two repositories. - Depends on proof alignment in #1404 Co-authored-by: Andreas Hatziiliou <andreas.hatziiliou@savoirfairelinux.com> Signed-off-by: Matthias J. Kannwischer <matthias@zerorisc.com>
Preparation for #1009. See individual commit messages.