Skip to content
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

Upgrade F* to use Z3 4.13.3 #3631

Merged
merged 17 commits into from
Dec 16, 2024
Merged

Upgrade F* to use Z3 4.13.3 #3631

merged 17 commits into from
Dec 16, 2024

Conversation

nikswamy
Copy link
Collaborator

@nikswamy nikswamy commented Dec 11, 2024

This PR explicitly sets --z3version 4.13.3 for all F* invocations in this repo.

Rather than changing FStarC.Options to flip the default Z3 version, I preferred to set this in all our makefiles, scripts, config files etc., so that we don't break other projects. We can consider flipping the default later.

I also adjusted rlimits and proofs in a couple of places so that they work with 4.13.3

The main difficult one with X64.Vale.Decls, which is fragile: I wrestled with this for a while, but it works now with a large rlimit and a few retries. We have a thread investigating this further with Nikolaj Bjorner, but I don't think that should block us here.

Fixes #3476. Fixes #2828. Fixes #2332. Fixes #2431.
See also #2974 and #2995.

@nikswamy
Copy link
Collaborator Author

I should add that this is just a small delta on top of a heroic effort by @mtzguido over several months on finding and fixing various proof regressions in both F* and Z3. Thanks @mtzguido!

@gebner
Copy link
Contributor

gebner commented Dec 14, 2024

I can confirm that F* now successfully builds on aarch64!

@mtzguido mtzguido merged commit 60cb9e4 into master Dec 16, 2024
4 checks passed
@mtzguido mtzguido deleted the nik_z3_4.13.3 branch December 16, 2024 19:07
@numinit
Copy link

numinit commented Jan 18, 2025

NixOS/nixpkgs#327052 just landed and should make this easier. I am considering dropping the old Z3 versions from nixpkgs because they are starting to require a bunch of patches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants