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

Add support for Bitwuzla and CVC5 #260

Merged
merged 8 commits into from
Sep 14, 2023

Conversation

gussmith23
Copy link
Contributor

@gussmith23 gussmith23 commented Jul 28, 2023

Adds support for Bitwuzla and cvc5.

I copied and pasted the files for cvc4 and boolector respectively to make the files for cvc5 and bitwuzla. They seem to be working! Thanks for making it so easy to add support. (And thanks @sorawee for the help on this!)

Note: I've only enabled QF_BV for both solvers, as this is all I need at the moment. If you want to enable new solvers, you can just add new entries to the solver-features list in each file. This will likely involve having to fix tests as well.

  • Add tests (?)
  • Remove extra stuff from bitwuzla file (need help determining what's not needed)
  • Remove extra stuff from cvc5 file (need help determining what's not needed)

See gussmith23/lakeroad#329

Co-authored-by: Sorawee Porncharoenwase <sorawee.pwase@gmail.com>
@gussmith23 gussmith23 marked this pull request as ready for review August 30, 2023 18:28
@gussmith23
Copy link
Contributor Author

I would love to move this towards getting merged @sorawee -- let me know what it needs to get there!

One thing: I copied these files and only modified them slightly, so they both may have extra unneeded junk. The cvc5 file is from cvc4; the bitwuzla file is from boolector. I'm not really sure how to tell what's needed and what's not.

@gussmith23 gussmith23 requested a review from sorawee August 30, 2023 18:30
@sorawee
Copy link
Collaborator

sorawee commented Aug 30, 2023

Adding tests would be nice. We have GitHub Actions's workflow that downloads solvers and tests that invoke these solvers.

@gussmith23
Copy link
Contributor Author

@sorawee added them, though I'm sure CI will break til I get all the dependencies right. Can you run the workflow?

@sorawee
Copy link
Collaborator

sorawee commented Aug 30, 2023

That would require @emina, @jamesbornholt, or @lukenels. I do not have a permission.

@gussmith23
Copy link
Contributor Author

Bump @emina @jamesbornholt @lukenels -- could someone run the workflows?

@gussmith23
Copy link
Contributor Author

Alternatively, deputize @sorawee so he can run them :)

Thanks all!!!

@sorawee
Copy link
Collaborator

sorawee commented Sep 7, 2023

The workflow now runs. It looks like you need a sudo for apt-get install.

@gussmith23
Copy link
Contributor Author

@sorawee updated -- can you run again? or whoever ran it last time?

@gussmith23
Copy link
Contributor Author

gussmith23 commented Sep 11, 2023

Ran into some weird behavior on Bitwuzla with the tests, see the above linked issue on Bitwuzla.

@gussmith23
Copy link
Contributor Author

CI is passing. @sorawee @jamesbornholt @emina @lukenels ready for final review.

@gussmith23 gussmith23 requested a review from sorawee September 13, 2023 19:00
@sorawee
Copy link
Collaborator

sorawee commented Sep 14, 2023

This looks good to me, thanks!

@sorawee sorawee merged commit b3f792a into emina:master Sep 14, 2023
3 checks passed
@gussmith23
Copy link
Contributor Author

Woohoo! Thank you!

@gussmith23 gussmith23 deleted the gussmith23/add-bitwuzla-and-cvc5 branch September 14, 2023 02:23
@sorawee sorawee mentioned this pull request Dec 13, 2023
2 tasks
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.

2 participants