* First steps toward adding Julia bindings
* Simplifications
* Streamlining
* Friends of tactic and probe
* Add missing functions
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Changes for CxxWrap v0.9.0
* Wrap enumeration and tuple sort
* Wrap z3::fixedpoint
* Wrap z3::optimize
* Wrap missing functions
* Fix aux types
* Add some missing functions
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit 5aab9f9240.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit cfccd7ca2c.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit f24740c595.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit 592499eaa0.
* Checkout current version of pipeline
* Build Julia bindings on macOS
* Extract components of algebraic number
* Add type to C API function name
* Remove blank line
* Typo in doc
* Return Z3_ast_vector containing coefficients
* [spacer] logging solver events
New option fp.spacer.trace_file='file.log' enables logging solving events
into a file.
These events are useful for debugging the solver, but also for visualizing
the solving process in a variety of ways
* [spacer] allow setting logic for solvers used by spacer
* [spacer] option to set arithmetic solver explicitly
* [spacer] improve of dumping solver_pool state for debugging
* fix propagate_ineqs to handle strict inequality
Co-authored-by: Nham Van Le <nv3le@precious3.eng.uwaterloo.ca>
The pretty printer for algebraic numerals prints a polynomial root expression, however, polynomial root expressions are not exposed over the API. The C API contains methods for approximating root objects from above and below with arbitrary precision. These functions are now exposed over the C++ API.
Note that algebraic numbers are also disjoint from rcf (real closed field) objects.
Thus, z3 doesn't support adding "pi" as an extension field to algebraic numbers that are used by the nlsat solver. It operats on algebraic numbers formed by roots over polynomial with rational coefficients
This moves handling of contains into an axiomatization that unfolds on demand.
The previous handling, based on rewriting, proved too brittle. While it simplifies how contains is handled, it is likely to introduce regressions in terms of what constraints can now be handled.