pySMT 0.5.1: NIRA and Python 3.5

17 views
Skip to first unread message

Marco Gario

unread,
Aug 17, 2016, 2:52:51 PM8/17/16
to pySMT

pySMT 0.5.1 is out!


The highlights for this version are the support for Non-Linear Arithmetic and support for Python 3.5 for all solvers. 

You can find the detailed changes at the end of this email.


As usual, you can upgrade via pip ( pip install --upgrade pysmt ) or by downloading the latest version from github ( https://github.com/pysmt/pysmt )


Cheers,

pySMT Team


----


Theories:

  • Non Linear Arithmetic (NRA/NIA): Added support for non-linear, polynomial arithmetic. This thoery is currently supported only by Z3. (PR #282)

    • New operator POW and DIV

    • LIRA Solvers not supporting Non-Linear will raise the NonLinearError exception, while solvers not supporting arithmetics will raise a ConvertExpressionError exception (see test_nlira.py:test_unknownresult)

    • Algebraic solutions (e.g., sqrt(2) are represented using the internal z3 object -- This is bound to change in the future.

General:

  • Python 3.5: Full support for Python 3.5, all solvers are now tested (and working) on Python 3.5 (PR #287)

  • Improved installed solvers check (install.py)

    • install.py --check now takes into account the bindings_dir and prints the version of the installed solver

    • Bindings are installed in different directories depending on the minor version of Python. In this way it is possible to use both Python 2.7 and 3.5.

    • There is a distinction btw installed solvers and solvers in the PYTHONPATH.

    • Qelim, Unsat-Core and Interpolants are also visualized (but not checked)

  • Support for reading compressed SMT-LIB files (.bz2)

  • Simplified HRPrinter code

  • Removed six dependency from type_checker (PR #283)

  • BddSimplifier (pysmt.simplifier.BddSimplifier): Uses BDDs to simplify the boolean structure of an SMT formula. (See test_simplify.py:test_bdd_simplify) (PR #286)

Solvers:

Bugfix:

  • Bugfix in Z3Converter.walk_array_value. Thanks to Alberto Griggio for contributing this patch

  • Bugfix in DL Logic comparison (commit 9e9c8c)

Reply all
Reply to author
Forward
0 new messages