Crate z3_sys

source ·
Expand description

Z3

Z3 is a theorem prover from Microsoft Research.

This crate provides low-level bindings that provide no real affordances for usage from Rust and that mirror the C API.

For bindings that are easier to use from Rust, see the higher level bindings in the Z3 crate.

Example:

use z3_sys::*;

unsafe {
    let cfg = Z3_mk_config();
    let ctx = Z3_mk_context(cfg);

    let a = Z3_mk_not(ctx, Z3_mk_eq(ctx, Z3_mk_false(ctx), Z3_mk_true(ctx)));
    let b = Z3_mk_not(ctx, Z3_mk_iff(ctx, Z3_mk_false(ctx), Z3_mk_true(ctx)));
    assert_eq!(Z3_mk_true(ctx), Z3_simplify(ctx, a));
    assert_eq!(Z3_mk_true(ctx), Z3_simplify(ctx, b));

    Z3_del_config(cfg);
    Z3_del_context(ctx);
}

Enums

Constants

Functions

Type Definitions