/go-z3

Bindings for the Z3 SMT solver

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

go-z3 provides Go bindings for the Z3 SMT solver.

Installation

First, follow the instructions to download and install the Z3 C library.

go-z3 requires Z3 version 4.7.1 or later.

If you installed the C library to a non-default location (such as a directory under $HOME), set the following environment variables:

# For building:
export CGO_CFLAGS=-I$Z3PREFIX/include CGO_LDFLAGS=-L$Z3PREFIX/lib
# For running binaries (including tests):
export LD_LIBRARY_PATH=$Z3PREFIX/lib

Then download and build go-z3:

go get -u github.com/aclements/go-z3/z3

Documentation

See pkg.go.dev.