3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-19 07:09:03 +00:00
Commit graph

240 commits

Author SHA1 Message Date
Nikolaj Bjorner fc4627a24f force the new arithmetic solver for QF_LIA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 16:33:48 -07:00
Nikolaj Bjorner de454db58c guard expensive ite rewrites under configuration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 14:17:39 -07:00
Nuno Lopes 009708ed07 remove unneeded creation of tmp mpz_manager 2018-07-09 10:52:27 +01:00
Nikolaj Bjorner 20fc573d5b add laxer check for oeq_quant_intro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 11:24:56 -07:00
Nikolaj Bjorner bf4edef761 fix mbi arithmetic solver for lower bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 06:37:47 -07:00
Nikolaj Bjorner baa96909cc mb-skolem for arithmetic with model repair
The contract is that users of mb-skolem ensure that
interface equalities are preserved (by adding a
sufficient set of disequalities, such as a chain
x1 < x2 < x3 .., to force that solutions for
x_i does not clash).

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 17:26:04 -07:00
Nikolaj Bjorner 1902360361 debugging mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner 49279d7047 debugging mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner b62d73f209 first round for combined mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner 0ae246ad2b add defs to arith solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner fee7828b51 fix solve bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner 50c93d1ad4 merge with 4.7.1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 17:10:36 -07:00
Daniel Schemmel f02d031d11
As of GCC8, the throw by value, catch by reference idiom is enforced via -Wcatch-value 2018-05-19 04:39:36 +02:00
Nikolaj Bjorner f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Bruce Mitchener 2fa304d8de Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
Nikolaj Bjorner c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Nikolaj Bjorner 5651d00751 fix #1534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-12 13:21:31 -07:00
Bruce Mitchener 76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener 7167fda1dc Use override rather than virtual. 2018-02-10 09:56:33 +07:00
Bruce Mitchener b7d1753843 Use override rather than virtual. 2018-02-09 21:19:27 +07:00
Bruce Mitchener 50f3e9c3c0 Fix typos. 2018-02-09 16:35:26 +07:00
Bruce Mitchener ae8027e594 Fix typos. 2018-02-01 19:39:43 +07:00
Bruce Mitchener 73b3da37d8 Typo fixes. 2018-01-02 22:48:06 +07:00
Nikolaj Bjorner 79a9dfd8fd adding pre-processing to nlsat for equations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-30 20:35:33 -08:00
Nikolaj Bjorner 2f218b0bdc remove also cores as arguments to tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-19 12:18:50 -08:00
Nikolaj Bjorner 4bbece6616 re-organize proof and model converters to be associated with goals instead of external
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-18 16:33:54 -08:00
Nikolaj Bjorner df6b1a707e remove proof_converter from tactic application, removing nlsat_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 23:32:29 -08:00
Nuno Lopes 912a729097 fix build of unit tests 2017-10-16 00:54:30 +01:00
Nuno Lopes d1c13f17b0 remove noexcept since MSVC 2012 doest support it 2017-10-16 00:54:30 +01:00
Nuno Lopes 9b54b4e784 fix vector<> to support non-POD types
adjust code to std::move and avoid unnecessary/illegal
2017-10-16 00:54:29 +01:00
Nikolaj Bjorner 8cf0c94e5f address some ASan leaks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 14:34:04 -07:00
Nikolaj Bjorner da2b876acb fix #1303
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-12 07:39:27 -07:00
Murphy Berzish 9b01a5153e fix generation of symbolic automata with no moves but accepting initial state 2017-09-18 14:44:05 -04:00
Christoph M. Wintersteiger 00651f8f21 Tabs, formatting. 2017-09-17 14:54:09 +01:00
Nikolaj Bjorner 059bad909a prune dead states from automata
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-31 07:33:55 -07:00
Nikolaj Bjorner 4d8290ebc2 update to theory_seq following examples from PJLJ
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-30 14:04:02 -07:00
Nikolaj Bjorner feac705cb8 include epsilon closure in initial state set, streamline final configuration computation #1224
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 13:47:19 -07:00
Nikolaj Bjorner 0ebb917268 complement regular expressions when used in negated membership constraints #1224
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 01:40:15 -07:00
Nikolaj Bjorner 974eaab01c complement regular expressions when used in negated membership constraints #1224
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 01:38:23 -07:00
Nikolaj Bjorner 2b82fd5d0c updated include directives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Nikolaj Bjorner b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner 6558999cef fixes #1171
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 08:46:20 -07:00
Nikolaj Bjorner 1a07c6c188 address ASAN bug report #1160
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-26 20:48:49 -07: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
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 331658f208 remove polynomial factorization as suggested by issue #852
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-09 21:30:54 -08:00
Nikolaj Bjorner e092232f67 add virtual destructors, fix operator code for API methods complement and intersection per note by Loris d'Antoni
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 23:17:52 +01:00
Nikolaj Bjorner 82d0310d94 remove repeated default argument, remove tabs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 21:13:12 -07:00
Nikolaj Bjorner fa48703445 fix build for non C++11
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 17:04:47 -07:00