Nikolaj Bjorner
a28a8304b7
Dev ( #56 )
...
* introduce int_solver.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* add int_solver class
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* track which var is an integer
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add queries for integrality of vars
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* resurrect lp_tst in its own director lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add_constraint has got a body
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix add_constraint and substitute_terms_in_linear_expression
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* after merge with Z3Prover
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* adding stub check_int_feasibility()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#50 )
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* small fix in lar_solver.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* adding some content to the new check_int_feasibility()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#51 )
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* test
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* Dev (#53 )
* change in a comment
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Disabled debug output
* removing FOCI2 interface from interp
* remove foci reference from cmakelist.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debugging nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* integrate nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* preserve is_int flag
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove a debug printout
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Dev (#54 )
* change in a comment
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* Disabled debug output
* removing FOCI2 interface from interp
* remove foci reference from cmakelist.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* initial skeletons for nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding more nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* nlsat integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debugging nra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* integrate nlsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use integer test from lra solver, updated it to work on term variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix equality check in assume-eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix model_is_int_feasible
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* untested gcd_test()
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* call fill_explanation_from_fixed_columns()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* port more of theory_arith_int.h
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* use statistics of lar_solver by theory_lra.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* port more code to int_solver.cpp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add an assert
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* more int porting
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix a bug in pivot_fixed_vars_from_basis
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* small change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* implement find_inf_int_base_column()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* catch unregistered vars in add_var_bound
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add a file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* compile for vs2012
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix asserts in add_var_bound
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* fix the lp_solver init when workig on an mps file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* towards int_solver::check()
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* change in int_solver::check() signature
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
* add handlers for lia moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* spacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-28 13:12:12 -07:00
Lev Nachmanson
4d0fda81df
fix run of lp_solver for mps files
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-06-27 11:45:29 -07:00
Nikolaj Bjorner
475b5c70c8
Merge pull request #1117 from levnach/master
...
fix maybe non initialized warning
2017-06-26 17:13:14 -07:00
Lev Nachmanson
dfe15adf7e
fix maybe non initialized warning
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-06-26 16:32:44 -07:00
Nikolaj Bjorner
244cbc2638
ensure that auxiliary PB booleans are recognized during rewriting. Fixes segementation fault #1113 , but does not address performance issues with quantifiers and optimization combinations
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-26 10:04:50 -07:00
Nikolaj Bjorner
7db1847f51
fix bitrot in maxsat example reference management #1116
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-26 09:36:53 -07:00
Nikolaj Bjorner
404db5759a
Merge pull request #1115 from delcypher/cmake_maxsat_example
...
[CMake] Teach CMake to build the `maxsat` example
2017-06-26 08:19:51 -07:00
Christoph M. Wintersteiger
fe781132b3
Merge pull request #1114 from delcypher/python_api_example_fixes
...
Fix Python API examples
2017-06-26 13:03:56 +01:00
Dan Liew
4d6cbd3788
[CMake] Teach CMake to build the maxsat
example as an external
...
project. The project can be built by building the new `c_maxsat_example`
target.
2017-06-26 11:58:51 +01:00
Dan Liew
896aae5606
Fix Python API examples so they work with Python 3 as well as Python 2.
2017-06-26 11:31:08 +01:00
Dan Liew
849eb389e6
[CMake] Add missing python example files.
...
We have to flatten the hierarchy when copying across so that all
Python examples have the `z3` directory in their directory.
2017-06-26 11:30:59 +01:00
Nikolaj Bjorner
bfd1bbc136
Merge pull request #1111 from delcypher/fix_cxx_api_exceptions_gcc_4_8
...
Unbreak Z3 C++ API exception support for GCC < 5.0.
2017-06-25 16:10:23 -07:00
Dan Liew
42e0f8f9ce
Unbreak Z3 C++ API exception support for GCC < 5.0. This was broken
...
by 0b1d564509
.
Older versions of GCC do not define `__cpp_exceptions` which caused
exceptions to not be raised leading to unexpected failures. To fix
this also check the `__EXCEPTIONS` macro which is used by older GCC
versions.
Also `#undef` the `Z3_THROW` macro at the end of the header file
because this is an implementation detail that we don't want to leak
to clients.
2017-06-25 23:03:39 +01:00
Christoph M. Wintersteiger
2fceac04d4
Merge branch 'master' of https://github.com/Z3Prover/z3
2017-06-25 22:19:54 +01:00
Christoph M. Wintersteiger
c395516058
Adjusted rlimit increments in theory_arith to avoid non-termination issues
2017-06-25 22:19:42 +01:00
Christoph M. Wintersteiger
ffbf19d944
Merge branch 'master' of https://github.com/wintersteiger/z3
2017-06-25 20:46:14 +01:00
Christoph M. Wintersteiger
ad7aff2334
Added rlimit increments in theory_arith to avoid non-termination issues via F*.
2017-06-25 20:45:56 +01:00
Nikolaj Bjorner
33d8b9b798
Merge pull request #1110 from delcypher/cmake_2_8_12_fixes
...
[CMake] CMake 2.8.12 fixes
2017-06-24 09:45:25 -07:00
Dan Liew
80c0c4f663
[CMake] Fix detection of git description and hash for CMake 2.8.12
2017-06-24 15:15:27 +01:00
Dan Liew
3229bedb36
[CMake] Unbreak the configure step for CMake 2.8.12
2017-06-24 14:41:33 +01:00
Dan Liew
489077a3eb
[CMake] Remove use of INSTALL_PREFIX
argument to
...
`configure_package_config_file()`. This argument wasn't available
until CMake 3.1 and we don't appear to be really using it anyway.
2017-06-24 14:16:48 +01:00
Dan Liew
5a8205cb0c
[CMake] Unbreak detection of pthreads for CMake versions < 3.4
2017-06-24 14:05:25 +01:00
Dan Liew
ae8a089e25
[CMake] Fix missing sanitization in z3_add_cxx_flag flag()
function
...
which caused CMake 2.8.12 to hit an error when handling the `-std=c++11`
flag.
2017-06-24 13:47:51 +01:00
Nikolaj Bjorner
1631a68981
make the option soup dependencies more user-friendly, #1109
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-23 16:57:50 -07:00
Nikolaj Bjorner
1681419052
adding change notes to release notes for a future release
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-23 16:50:33 -07:00
Nikolaj Bjorner
9d1852343c
add separate get-objectives command #1107
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-23 16:34:38 -07:00
Nikolaj Bjorner
e3ec7e7d05
Merge branch 'master' of https://github.com/z3prover/z3
2017-06-23 11:34:18 -07:00
Nikolaj Bjorner
cd4bb5beaf
another fix for #1101
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-23 11:34:10 -07:00
Nikolaj Bjorner
42d0d2944c
Merge pull request #1105 from agurfinkel/dl_fixes
...
Minor bug fixes in datalog processing
2017-06-23 08:41:32 -07:00
Christoph M. Wintersteiger
ab355c2ef9
Merge pull request #1104 from agurfinkel/cmake_fix
...
[CMake] typos in cmake
2017-06-23 15:48:43 +01:00
Arie Gurfinkel
c7fbab0c11
propagate rule names during xform
2017-06-23 09:38:04 -04:00
Arie Gurfinkel
0dead22dca
fix missing initialization
2017-06-23 09:38:04 -04:00
Arie Gurfinkel
9874db7458
[CMake] typos in cmake
2017-06-23 09:37:49 -04:00
Nikolaj Bjorner
7386f2e045
#1101
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-22 14:18:53 -07:00
Nikolaj Bjorner
5e8a4b98d4
Merge pull request #1099 from levnach/master
...
add a template instantination
2017-06-22 10:35:28 -07:00
Lev Nachmanson
2a5f1d6e93
add a template instantination
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2017-06-22 10:32:35 -07:00
Christoph M. Wintersteiger
0008aefe40
Merge pull request #1096 from delcypher/cmake_fix_macos_rpath_warning
...
[CMake] Fix CMake warning about CMP0042 on macOS
2017-06-22 12:30:48 +01:00
Dan Liew
ed038c2a10
[CMake] Fix CMake warning about CMP0042 on macOS
2017-06-22 09:42:22 +01:00
Nikolaj Bjorner
77ffa9f32f
Merge pull request #1095 from agurfinkel/mev_fix
...
model_evaluator fix
2017-06-21 20:17:44 -07:00
Arie Gurfinkel
972ab6298c
(mev) only reduce function interpretation
2017-06-21 22:59:52 -04:00
Nikolaj Bjorner
2d49119d2a
add note to Context documentation about scoped uses of contexts #1077
2017-06-21 18:56:16 -07:00
Arie Gurfinkel
493a3a6312
(mev) call expand_value only at the end
...
There is no need to expand array values throughout evaluation.
They are expanded during array equality checking (if requested), and
can be expanded at the very end of evaluation (if needed).
2017-06-21 20:58:10 -04:00
Arie Gurfinkel
d5ca902bf6
(mev) bug fix in expanding array equalities
...
The stores were processed in the wrong order so that
(store (store a x y) x u)
was reduced to
(store a x y)
instead of
(store a x u)
2017-06-21 20:58:10 -04:00
Arie Gurfinkel
e62e563e2d
(mev) renamed variable to clarify that it is unused
2017-06-21 20:58:10 -04:00
Nikolaj Bjorner
1fee5fd94e
Merge pull request #1094 from delcypher/cmake_fix_generated_cpp_deps
...
[WIP][CMake] Fix broken regeneration of some .cpp files
2017-06-21 17:47:41 -07:00
Dan Liew
d00892c9a6
[CMake] Fix dependencies for generating mem_initializer.cpp
.
...
Previously CMake was not aware of which headers files the generation
of `mem_initializer.cpp` depended on. Consequently this could result
in broken incremental builds if
* Existing headers that declare memory initializers/finalizers change.
* New headers are added that declare memory initializers/finalizer.
Now the `z3_add_component()` CMake function has been modifed so that
it now takes an optional `MEMORY_INIT_FINALIZER_HEADERS` argument
which allows the headers that declare memory initializers/finalizers
to be explicitly listed.
With this information CMake will now regenerate `mem_initializer.cpp`
correctly.
This required the `mk_mem_initializer_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.
This partially fixes #1030 .
2017-06-21 23:56:53 +01:00
Dan Liew
6f48a145aa
[CMake] Fix dependencies for generating gparams_register_modules.cpp
.
...
Previously CMake was not aware of which headers files the generation
of `gparams_register_modules.cpp` depended on. Consequently this could result
in broken incremental builds if
* Existing headers that declared module description/parameters change.
* New headers are added that declare module description/parameters.
* `.pyg` files that generate header files that declare module
description/parameters change
Now the `z3_add_component()` CMake function has been modifed so that
* All header files that are generated from `.pyg` files are added as
dependencies and are scanned from module description/parameter
declarations. This implicit dependency of `gparams_register_modules.cpp`
depending on other generated header files seems unnecessary complex. We
should revisit this design decision once the Python/Makefile build
system is deprecated.
* The function now takes an optional `EXTRA_REGISTER_MODULE_HEADERS`
argument which allows the headers that declare module
description/paramters to be explicitly listed.
With this information CMake will now regenerate `gparams_register_modules.cpp`
correctly.
This required the `mk_gparams_register_modules_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.
This partially fixes #1030 .
2017-06-21 23:56:46 +01:00
Dan Liew
229fd3dc3e
[CMake] Fix dependencies for generating install_tactic.cpp
.
...
Previously CMake was not aware of which headers files the generation
of `install_tactic.cpp` depended on. Consequently this could result
in broken incremental builds if
* Existing headers that declared tactics/probes changed.
* New tactics/probes were added to new header files.
Now the `z3_add_component()` CMake function has been modifed to take an
optional `TACTIC_HEADERS` argument which allows the headers that declare
tactics/probes to be explicitly listed. The necessary component
declarations have been modified to declare their tactic/probe header
files.
With this information CMake will now regenerate `install_tactic.cpp`
correctly.
This required the `mk_install_tactic_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.
This partially fixes #1030 .
2017-06-21 23:03:48 +01:00
Nikolaj Bjorner
b516f22549
refine test for non-fd to be more inclusive while addressing #1092
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-21 08:01:03 -07:00
Nikolaj Bjorner
a3ee785923
disable dt2bv for quantified variables as enum2bv does not handle them. #1092
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-21 07:29:21 -07:00