3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 13:58:45 +00:00
Commit graph

1481 commits

Author SHA1 Message Date
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
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 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 cd4bb5beaf another fix for #1101
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-23 11:34:10 -07: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 e48e7ef7be fix assertion, start addressing #1087 by using size_t 2017-06-20 14:38:58 -07:00
Nikolaj Bjorner 0ef14acf2e fix build break
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-20 14:25:56 -07:00
Nikolaj Bjorner 0fa6274a65 Fix bug #1079, integrality testing seems to have been wrong
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-20 14:18:43 -07:00
Nikolaj Bjorner f375016a11 disable tweak to seq until there are cycles to test further
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-19 18:23:27 -05:00
Nikolaj Bjorner 894c60bdf9 fix bug in qe-lite reported in #1086: bookkeeping of unconstrained variables only works for quantifier-free formulas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-19 18:22:30 -05:00
Nikolaj Bjorner 02161f2ff7 revert internalize logic for re until debugged
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-15 21:13:25 -07:00
Nikolaj Bjorner e67572ffa6 address issues raised in #998
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-15 20:47:59 -07:00
Nikolaj Bjorner 5be3e959ab address issues raised in #998
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-15 20:46:47 -07:00
Nikolaj Bjorner 7023af4528 Merge branch 'master' of https://github.com/z3prover/z3 2017-06-13 19:03:45 -07:00
Nikolaj Bjorner a59ee8032c fix unsoundness bug in axiomatization of str.at. #1067
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-13 19:02:59 -07:00
Dan Liew 4b517b96df [CMake] Move CMake files into their intended location so the
`contrib/cmake/bootstrap.py` script no longer needs to be executed.

The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.

The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.

This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Nikolaj Bjorner 2908ab4069 fix reference count issue with pinning to expr_ref
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-01 09:56:25 -07:00
Nikolaj Bjorner e9ed3af455 fix regression in str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-01 09:35:35 -07:00
Nikolaj Bjorner 1fa60f4893 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-06-01 09:11:09 -07:00
Nikolaj Bjorner 52e0f3b539 add string accessors to managed APIs #1051
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-01 09:10:49 -07:00
Christoph M. Wintersteiger 596652ed36 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-05-31 18:35:52 +01:00
Christoph M. Wintersteiger 4f0a87299c Fixed signed/unsigned comparison warnings 2017-05-31 18:35:06 +01:00
Christoph M. Wintersteiger a7d5bb7b36 Tabs 2017-05-31 12:18:00 +01:00
Nikolaj Bjorner 415824b600 put temporaries on trail
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-30 11:18:33 -07:00
Nikolaj Bjorner 49faaaa8f1 allowing non-literal assumptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 15:01:00 -07:00
Nikolaj Bjorner 6f2cd4817b ensure arith.reflect has default true
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 14:09:45 -07:00
Nikolaj Bjorner 23ff580a67 get rid of timeb dependencies, pull request #1040
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 12:16:43 -07:00
Nikolaj Bjorner edb164587f get rid of a simplifier dependency
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 10:12:32 -07:00
Nikolaj Bjorner af4346f16a expose arith reflection, get rid of long m_manager attribute in asserted fromulas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 10:04:29 -07:00
Nikolaj Bjorner 90af406338 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-05-23 08:51:38 -07:00
Nikolaj Bjorner 8e9739d3b0 work around crash #1039
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 08:51:26 -07:00
Nikolaj Bjorner 79a8e9aab0 fix build break #1029
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-18 12:09:51 -07:00
Nikolaj Bjorner a0efdc21c3 add missing locks around mpz operations that access object allocator. Use internal skolem constant for theory assumption to hide it from models
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-14 14:04:00 -07:00
Murphy Berzish 3c692a37eb fix consistency check involving strings with escape characters 2017-05-13 16:13:32 -04:00
Murphy Berzish 14355a15c8 use correct operator for lower bound assignment
fixes #1022
2017-05-13 16:02:41 -04:00
Murphy Berzish bf147556a6 add counter to theory_str::mk_fresh_const() 2017-05-13 14:18:05 -04:00
Nikolaj Bjorner 169295c9ba fix build warnings for theory_str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-12 08:06:24 -07:00
Lev Nachmanson cf8b35a6f3 fix init reorder warning
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2017-05-11 10:54:18 -07:00
Nikolaj Bjorner eb8da3fb9d fixing setup for LRA, re-enable LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 09:34:07 -07:00
Nikolaj Bjorner 7e004fe331 fix build warnings part 7, disable LRA for regression t201.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 09:28:59 -07:00
Nikolaj Bjorner 9b3e2a9afe re-enable LRA after fixing dispatch for LRA in smt-setup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 09:16:07 -07:00
Nikolaj Bjorner f176e1e5e5 disable LRA until unit tests are fixed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 08:40:20 -07:00
Nikolaj Bjorner e9a085a0e2 enable LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-11 08:23:43 -07:00
Lev Nachmanson 1d5fafd558 disable lev's solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2017-05-10 21:18:20 -07:00
Lev Nachmanson b08f094620 merging with the lp fork
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2017-05-10 16:53:25 -07:00
Lev Nachmanson cf695ab876 taking changes from the fork
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2017-05-10 10:43:01 -07:00