Low-level rust bindings to the Z3 SMT solver
Licensed under the MIT license.
See https://github.com/Z3Prover/z3 for details on Z3.
The API is fully documented with examples: https://docs.rs/z3-sys/
This crate works with Cargo and is on
crates.io.
Add it to your Cargo.toml
like so:
[dependencies]
z3-sys = "0.7.1"
Note: This crate requires a z3.h
during build time.
- By default, the crate will look for a
z3.h
in standard/system include paths. - If the feature
static-link-z3
is enabled, thez3.h
of the built Z3 will be used. - Alternatively, the path to the desired
z3.h
can be specified via the environment variableZ3_SYS_Z3_HEADER
. I.e., running:
$ Z3_SYS_Z3_HEADER="/path/to/my/z3.h" cargo build
in your project will use /path/to/my/z3.h
instead.
I am developing this library largely on my own so far. I am able to offer support and maintenance, but would very much appreciate donations via Patreon. I can also provide commercial support, so feel free to contact me.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.