#smt-solver #bindings #high-level #ffi #particular

boolector

Safe high-level bindings for the Boolector SMT solver

9 releases

0.4.3 Apr 5, 2022
0.4.2 Jan 7, 2021
0.4.1 Aug 31, 2020
0.4.0 Jul 27, 2020
0.1.1 Sep 16, 2019

#952 in Algorithms

Download history 84/week @ 2023-11-18 57/week @ 2023-11-25 11/week @ 2023-12-02 13/week @ 2023-12-09 23/week @ 2023-12-16 19/week @ 2023-12-23 24/week @ 2023-12-30 28/week @ 2024-01-06 29/week @ 2024-01-13 29/week @ 2024-01-20 26/week @ 2024-01-27 20/week @ 2024-02-03 54/week @ 2024-02-10 35/week @ 2024-02-17 56/week @ 2024-02-24 44/week @ 2024-03-02

193 downloads per month
Used in 4 crates

MIT license

115KB
1.5K SLoC

boolector

crates.io License

Safe high-level bindings for the Boolector SMT solver, version 3.2.2.

Installation

This crate is on crates.io, so you can simply add it as a dependency in your Cargo.toml:

[dependencies]
boolector = "0.4.3"

This crate relies on the boolector-sys crate, so you will need to follow its directions for installation as well. In particular, you can either:

  • compile and install Boolector 3.2.2 on your system as a shared library; or
  • activate the vendor-lgl feature on this crate, which will automatically build a static Boolector and link to it. E.g.,
    [dependencies]
    boolector = { version = "0.4.3", features = ["vendor-lgl"] }
    

For more details, see the boolector-sys README.

Documentation

Full documentation, including examples, can be found at https://docs.rs/boolector.

Caveats

These bindings are not necessarily complete; there may be some features present in boolector-sys which are not directly exposed here, e.g., uninterpreted functions (boolector_uf()). Contributions are welcome.

This crate currently requires Rust 1.41+.

Dependencies

~4MB
~108K SLoC