3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-13 16:06:39 +00:00
Commit graph

69 commits

Author SHA1 Message Date
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener
b7d1753843 Use override rather than virtual. 2018-02-09 21:19:27 +07:00
Nikolaj Bjorner
397cdfc608 avoid crash on nl
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-12-15 06:38:56 -08:00
Nikolaj Bjorner
e4b595d490 add solver pool abstraction for Spacer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-28 16:10:20 -07:00
Nikolaj Bjorner
cab4e4b461 add feature to display benchmark in format seen by SAT solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-21 18:32:46 -05:00
Nikolaj Bjorner
5db349f6fa raise an exception if trying proof generation for the SAT solver. Stackoverflow question https://stackoverflow.com/questions/45885321/check-function-while-qf-fd-logic-is-set-throws-accessviolationexception
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 23:52:27 -07:00
Nikolaj Bjorner
97e263299d add logic 'SAT' as an alternative name to QF_FD some solverFor(SAT) works too. #1152
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-15 01:35:28 -07:00
Nikolaj Bjorner
f99048f3e7 rewrite to address some cases like #1203, updates to division handling in NRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-12 13:24:54 -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
08524a2d90 cleanup for warning message
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-01 11:47:17 -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
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
d14f2af5ae deal with subtraction that manages to sneak in. Issue #996
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-01 15:22:06 -07:00
Nikolaj Bjorner
67513a2cf5 fix detection of bounds under conjunctions. Issue #971
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-11 07:40:09 +08:00
Nikolaj Bjorner
40177f7bac bypass combined solver when logic is set to QF_FD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 08:05:04 -08:00
Nikolaj Bjorner
4d8d705b3f bypass combined solver when logic is set to QF_BV or QF_FD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 08:02:24 -08:00
Christoph M. Wintersteiger
b1f7c6ac97 eliminated unnecessary variable 2016-11-04 22:08:49 +00:00
Nikolaj Bjorner
ff75f88c4f fix memory abuse in internalization in inc-sat-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-31 22:25:58 +01:00
Nikolaj Bjorner
2475f3bff5 ensure that variables passed to consequence finding have bound constraints, if applicable. Even if those variables do not occur in the constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-28 07:41:27 -07:00
Christoph M. Wintersteiger
f1412d3f32 Bugfix for bouned_int2bv_solver 2016-10-28 14:23:01 +01:00
Christoph M. Wintersteiger
02e1bae9cb whitespace 2016-10-28 14:22:27 +01:00
Nikolaj Bjorner
ca309341c3 fixing cancellation code paths for inc_sat_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 22:07:46 -07:00
Nikolaj Bjorner
24fc19ed58 speed up consequence finding by avoiding local search whenver assumption level is reached during the initial phase
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 08:15:39 -07:00
Nikolaj Bjorner
461e88e34c additional robustness check for incremental sat solver core when it recieves interpreted constants, added PB equality to interface and special handling of equalities to adddress performance gap documented in #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-25 20:32:13 -07:00
Nikolaj Bjorner
b82b53dc34 add handling of pseudo-boolean inequalities that use if-expressions over Booleans and arihmetic instead of built-in PB predicates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-24 17:41:52 -07:00
Nikolaj Bjorner
3778048eb4 add bounded-int and pb2bv solvers to fd_solver, use sorting networks for pb2bv rewriter when applicable, hoist to pb2bv_rewriter module and remove it from the pb2bv_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-23 20:31:59 -07:00
Nikolaj Bjorner
d060359f01 add fd solver for finite domain queries
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-18 22:34:34 -04:00
Douglas B. Staple
725b1c56e5 Export default tactic for use via the SMT-LIB 2 interface. 2016-05-26 09:55:08 -03:00
Nikolaj Bjorner
87396bd648 fix issue #212 - don't use SAT solver core when division semantics is disabled
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-05 11:03:35 -07:00
Nikolaj Bjorner
cc5d719d9e enable incremental bit-vector solving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-01 09:48:35 -07:00
Nikolaj Bjorner
4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nikolaj Bjorner
f3f85b5e0f disable qf-ufnra tactic from default for testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-23 14:05:49 +02:00
Nikolaj Bjorner
3a9f8276fe hide new behavior until tested
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-21 02:25:02 -07:00
Nikolaj Bjorner
949c21ca08 enable incremental sat for QF_BV
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-21 02:23:56 -07:00
Christoph M. Wintersteiger
f2f6fc1994 Added QF_BVFP logic alias for QF_FPBV 2015-05-29 13:58:23 +01:00
Christoph M. Wintersteiger
98975e5187 Reordered the default qflia probe to be checked before the more permissive qfauflia. 2015-05-27 14:47:24 +01:00
Nikolaj Bjorner
839e3fbb7c add ddnf tests, add facility to solve QF_NRA + QF_UF(and other theories) in joint solver to allow broader use of QF_NRA core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-09 19:40:34 -07:00
Nikolaj Bjorner
52619b9dbb pull unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Christoph M. Wintersteiger
e5c5c801c7 fixed botched merge
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-21 14:40:18 +00:00
Christoph M. Wintersteiger
d56d63e3e8 Merge branch 'fpa-api' of https://git01.codeplex.com/z3 into unstable
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>

Conflicts:
	src/tactic/portfolio/default_tactic.cpp
2015-01-21 14:25:31 +00:00
Christoph M. Wintersteiger
0746ede537 BV SLS: Final adjustments
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-20 15:59:25 +00:00
Christoph M. Wintersteiger
61ba7f5e09 Merge branch 'bvsls' of https://git01.codeplex.com/z3 into unstable
Conflicts:
	src/tactic/portfolio/default_tactic.cpp

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-20 15:15:31 +00:00
Christoph M. Wintersteiger
d20c7bc9ee Added is_qfaufbv_probe and is_qfauflia_probe.
Potential performance disruption for some users:
Changed default_tactic to call the respective tactics,
where previously they would have run the default 'smt'
tactic.

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-19 18:19:43 +00:00
Christoph M. Wintersteiger
d4ecc3c1be Disabled BV-SLS as default tactic in anticipation for integration
with the unstable branch.

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-12 15:59:20 +00:00
Christoph M. Wintersteiger
5e5758bb25 More float -> fpa renaming
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-08 13:37:18 +00:00
Christoph M. Wintersteiger
208994e2dc Renamed the default tactics form QF_FPA and QF_FPABV to QF_FP and QF_FPBV, in anticipation of the logic name QF_FPA to mean floats+arrays.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-12-31 15:33:50 +00:00
Christoph M. Wintersteiger
96ab83d944 removed unnecessary changes for bvsls
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-03-26 13:08:13 +00:00
Andreas Froehlich
853ce522cc plenty of new stuff 2014-03-09 15:42:51 +00:00
Andreas Froehlich
25378f7989 some extensions/modifications. versions added. 2014-02-18 14:01:47 +00:00
Andreas Froehlich
87c6fc66d6 sls tactic default 2014-02-11 17:44:59 +00:00