Skip to content

Conversation

@blishko
Copy link
Collaborator

@blishko blishko commented Aug 15, 2025

Description

This updates the solvers to the following versions:

  • Bitwuzla 0.8.2
  • cvc5 1.3.0
  • z3 4.15.2

Bitwuzla 0.8.2 now uses abstraction by default.
On my simplified vat contract, solving was order of magnitude faster
than with Bitwuzla 0.7.0.

Additionally, the new Bitwuzla comes with it's own Windows release, so we can remove our own Bitwuzla build from our CI pipeline.

Checklist

  • tested locally
  • added automated tests
  • updated the docs
  • updated the changelog

@blishko blishko force-pushed the update-bitwuzla branch 2 times, most recently from dc2432a to 7dfd644 Compare August 16, 2025 20:33
@msooseth
Copy link
Collaborator

Oh wow, this looks nice! Should we merge?

@blishko blishko marked this pull request as ready for review August 18, 2025 10:26
@blishko
Copy link
Collaborator Author

blishko commented Aug 18, 2025

I would very much like to merge :)

I have updated the description. I think that actually all the solvers get updated.
@gustavo-grieco mentioned some problems with updated Bitwuzla in #807. So far, I have not seen any problem.

This updates the solvers to the following versions:
* Bitwuzla 0.8.2
* cvc5 1.3.0
* z3 4.15.2

Bitwuzla 0.8.2 now uses abstraction by default.
On my simplified vat contract, solving was order of magnitude faster
than with Bitwuzla 0.7.0.
Bitwuzla with abstraction can solve many previously challengin queries
pretty fast now.
We update the example to test solver timeout to a more challenging one.
This new one is basically a factorization of a large number, i.e.,
expressing it as a multiplication of two primes.
@blishko
Copy link
Collaborator Author

blishko commented Aug 18, 2025

I actually had to update the example where we test SMT solver timeout, because the new bitwuzla solved the previous one under the 1 second timeout on my laptop.

Copy link
Collaborator

@msooseth msooseth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@blishko blishko merged commit 84b3fc8 into main Aug 18, 2025
15 of 16 checks passed
@blishko blishko deleted the update-bitwuzla branch August 18, 2025 11:56
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.

3 participants