#smt-solver #smt #low-level #boolector

sys boolector-sys

Low-level bindings for the Boolector SMT solver

15 releases

0.7.2 Feb 26, 2024
0.7.1 Nov 25, 2021
0.6.3 Jan 21, 2021
0.6.1 Dec 4, 2020
0.2.0 May 21, 2019

#1156 in Algorithms

Download history 22/week @ 2024-07-20 18/week @ 2024-07-27 20/week @ 2024-08-03 24/week @ 2024-08-10 10/week @ 2024-08-17 13/week @ 2024-08-24 16/week @ 2024-08-31 14/week @ 2024-09-07 12/week @ 2024-09-14 89/week @ 2024-09-21 41/week @ 2024-09-28 54/week @ 2024-10-05 38/week @ 2024-10-12 21/week @ 2024-10-19 11/week @ 2024-10-26 29/week @ 2024-11-02

111 downloads per month
Used in 5 crates (2 directly)

MIT license

4MB
107K SLoC

C 79K SLoC // 0.1% comments C++ 17K SLoC // 0.0% comments Python 4K SLoC // 0.1% comments Shell 4K SLoC // 0.1% comments Cython 1.5K SLoC // 0.5% comments Rust 1K SLoC // 0.0% comments Forge Config 3 SLoC // 0.4% comments

Contains (ELF exe/lib, 3MB) boolector-1.5.118

crates.io docs.rs

boolector-sys

This Rust crate provides low-level bindings for the Boolector SMT solver, version 3.2.2.

Installation

Using shared boolector library

Compile boolector as a shared library and install it. Then add this crate to your Cargo.toml:

[dependencies]
boolector-sys = "0.7.2"

Using vendored static boolector library

This is possible on UNIX-like targets only. Add this crate to your Cargo.toml with the vendor-lgl feature enabled:

[dependencies]
boolector-sys = { version = "0.7.2", features = ["vendor-lgl"] }

Enabling vendor-lgl will automatically build a static boolector library and link against it. Currently this uses the Lingeling SAT solver.

In order for the build to succeed, you'll need to install some tools on your build host; for a Debian-based distribution build-essential, cmake, curl, and git should be sufficient.

License

This crate is licensed under the MIT license.

Dependencies