A solver-agnostic library for SMT Formulae manipulation and solving
Project description
pySMT makes working with Satisfiability Modulo Theory simple.
Among others, you can:
Define formulae in a solver independent way in a simple and inutitive way,
Write ad-hoc simplifiers and operators,
Dump your problems in the SMT-Lib format,
Solve them using one of the native solvers, or by wrapping any SMT-Lib complaint solver.
Supported Theories and Solvers
pySMT provides methods to define a formula in Linear Real Arithmetic (LRA), Real Difference Logic (RDL), their combination (LIRA), Equalities and Uninterpreted Functions (EUF), Bit-Vectors (BV), and Arrays (A). The following solvers are supported through native APIs:
MathSAT (http://mathsat.fbk.eu/)
CVC4 (http://cvc4.cs.nyu.edu/web/)
Yices 2 (http://yices.csl.sri.com/)
PicoSAT (http://fmv.jku.at/picosat/)
Boolector (http://fmv.jku.at/boolector/)
Additionally, you can use any SMT-LIB 2 compliant solver.
PySMT assumes that the python bindings for the SMT Solver are installed and accessible from your PYTHONPATH.
pySMT works on both Python 3 and Python 2.
Wanna know more?
Visit http://www.pysmt.org
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for PySMT-0.9.1.dev108-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be5d5445eb296a8de3f78b945e4521ce5dc727149b39742f4180d78f55a39e67 |
|
MD5 | 80ab09c3821985e00d1fa43fc155468a |
|
BLAKE2b-256 | 495fe7b57ab87b74b12430a88638aa1926a71b977de1cc1e18306b4206b0d2a0 |