Skip to content

CBMC: Add contracts and proofs for more polyvec functions #169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 24, 2025

Conversation

mkannwischer
Copy link
Contributor

@mkannwischer mkannwischer commented Apr 16, 2025

I moved the slow proofs from #151 out, so we can work on them separately.

Update: I used the workaround from #92 to make the four proofs fast using a temporary polynomial. That's a temporary workaround for diffblue/cbmc#8617. I added the functions to #102, so that we can remove the workaround later.

@jakemas
Copy link
Contributor

jakemas commented Apr 16, 2025

Aha, it looks like we were working on the same functions at the same time!

@mkannwischer
Copy link
Contributor Author

Aha, it looks like we were working on the same functions at the same time!

That's unfortunate. I usually create issues and assign myself to them to avoid this (I have done so for these functions in this case). If you can please assign yourself to issues you are working on/plan to work on then we can avoid race conditions like this in the future.

@mkannwischer mkannwischer force-pushed the cbmc-polyvec-proofs-slow branch 2 times, most recently from 000e87b to b241026 Compare April 22, 2025 05:34
@mkannwischer mkannwischer marked this pull request as ready for review April 22, 2025 05:37
@mkannwischer mkannwischer requested a review from a team as a code owner April 22, 2025 05:37
@hanno-becker hanno-becker force-pushed the cbmc-polyvec-proofs-slow branch from b241026 to 2565882 Compare April 23, 2025 03:47
@mkannwischer mkannwischer force-pushed the cbmc-polyvec-proofs-slow branch from 2565882 to 9e4e501 Compare April 23, 2025 09:29
CBMC: Add contract and proof for polyveck_caddq
CBMC: Add contract and proof for polyvecl_ntt
CBMC: Add contract and proof for polyveck_ntt

Resolves #125
Resolves #133
Resolves #118
Resolves #129

Signed-off-by: Matthias J. Kannwischer <[email protected]>
@rod-chapman rod-chapman force-pushed the cbmc-polyvec-proofs-slow branch from 9e4e501 to d67b68b Compare April 24, 2025 11:29
@rod-chapman
Copy link
Contributor

Looks good to me. All proofs, lint and tests OK. I will squash and merge.

@rod-chapman rod-chapman merged commit b431cad into main Apr 24, 2025
45 checks passed
@rod-chapman rod-chapman deleted the cbmc-polyvec-proofs-slow branch April 24, 2025 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CBMC: Prove polyveck_power2round CBMC: Prove polyveck_ntt CBMC: Prove polyveck_caddq CBMC: Prove polyvecl_ntt
3 participants