3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-14 08:26:39 +00:00
Commit graph

96 commits

Author SHA1 Message Date
Nikolaj Bjorner
fd49a0c89c added facility to persist model transformations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-02 00:05:52 -05:00
Nikolaj Bjorner
caaf0ba33c model-add/del
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-01 22:32:22 -05:00
Nikolaj Bjorner
3de8c193ea implementing model updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-30 16:11:51 -05:00
Nikolaj Bjorner
c9f540b066 additional array functions exposed over API, ping #1223
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-19 11:08:48 -07:00
Nikolaj Bjorner
7f590b5419 gift for Nuno
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-17 10:27:58 -07:00
Nikolaj Bjorner
448cf8c31d fix scope accounting for dom simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-17 10:14:26 -07:00
Nikolaj Bjorner
c1b243a8e3 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-07 19:24:30 +01:00
Nikolaj Bjorner
755ca46df6 adding bv_bounds tactic dominator style
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 12:15:41 +01:00
Nikolaj Bjorner
cb548404bc bail out dominators after log number of steps
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 12:08:37 +01:00
Nikolaj Bjorner
6df628edc7 pin elements in expr2depth
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-06 11:45:29 +01:00
Nikolaj Bjorner
651587ce01 merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
2955b0c2ef removing more dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 03:05:34 -07:00
Nuno Lopes
000796c25c micro-optimization in tactics' cleanup(): avoid dealloc+alloc traffic 2017-08-14 20:12:00 +01: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
b482dbd589 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 17:02:27 -07: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
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
Nikolaj Bjorner
d3320f8b81 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-14 21:48:19 -07:00
Nikolaj Bjorner
8ac43c981a use less memory #1078 2017-06-14 21:41:24 -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
7d245be4e1 enable exposing internal solver state on interrupted solvers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-30 17:33:27 -07:00
Christoph M. Wintersteiger
27a1758857 Added rewriter.ignore_patterns_on_ground_qbody option to disable simplification of quantifiers that have their universals appear only in patterns, but otherwise have a ground body. 2017-04-07 21:19:20 +01:00
Nikolaj Bjorner
899843b7cd fix unhandled finite domain sort rewrite case. Issue #918
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-26 17:20:54 -08:00
Nikolaj Bjorner
8d18fd075e remove sources for unused variable warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 09:54:45 -08: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
881e82e3fa remove legacy interface to dt2bv tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-18 23:04:17 -04: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
Nikolaj Bjorner
9e4450228e adding unit test for enumeration types
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-17 14:52:37 -04:00
Nikolaj Bjorner
e3f0aff318 address ubuntu warning and add shortcuts for maxsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-03 16:22:13 -07:00
Mikolas Janota
ec47a1df50 Adding bv preprocessing techniques. 2016-09-16 19:44:37 +01:00
Nikolaj Bjorner
d4539b8887 fix dt2bv transformation to only work with constants, issue #725
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-08-30 11:42:14 +08:00
Nikolaj Bjorner
5f5ef8b38d adding support for distinct for dt2bv, re-entry harness for ~Context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-27 09:02:56 -07:00
Nikolaj Bjorner
a85c5f0fac add handling of recognizers to enumeration types
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-24 17:29:17 -07:00
Nikolaj Bjorner
6bf446dfc2 add tactic to eliminate enumeration sorts in favor of bit-vectors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-23 14:13:40 -07:00
Nikolaj Bjorner
083939ab0e add tactic to eliminate enumeration sorts in favor of bit-vectors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-23 14:11:21 -07:00
Nikolaj Bjorner
5b497b6249 reduce set of mainly verbose warnings raised by -Wmaybe-uninitialized and unused variable warnings from release mode builds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-22 20:25:47 -07:00
Christoph M. Wintersteiger
f8795f3522 Added term ITEs to bvarray2uf rewriter. 2016-05-09 14:16:51 +01:00
Christoph M. Wintersteiger
0597b579b1 Bugfixes for bvarray2uf conversion. 2016-04-07 19:10:31 +01:00
Nikolaj Bjorner
f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nikolaj Bjorner
70f13ced33 make proto-model evaluation use model_evaluator instead of legacy evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-05 10:14:15 -08:00
Nuno Lopes
62e46aacd9 bv_bounds: make may_simplify more precise to skip exprs with just 1 bound expr
speedups up to 3x in selected benchmarks
2016-03-01 11:31:08 +00:00
Nikolaj Bjorner
4a15d756d7 uint64_t -> uint64 for cross platform
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 22:16:03 -08:00
Nuno Lopes
43202572ee bv_bounds: switch from rational to uint64
this limits the analysis to 64-bit BVs, but gives a speedup of up to one order of magnitude
2016-02-29 17:23:54 +00:00
Nuno Lopes
c1eb1cc3f2 bv_bounds: improve perf of push/pop 2016-02-28 20:07:39 +00:00
Nuno Lopes
e7a360ca08 ctx_simplify: remove virtual push() method 2016-02-28 17:57:40 +00:00
Nuno Lopes
51687b2be7 bv_bounds: ensure (bvule x maxuint) is simplified to true 2016-02-28 10:56:48 +00:00
Nuno Lopes
97d6098d00 bv_bounds: make may_simplify() more aggressive for the common case of a single comparison
fix expr_has_bounds to handle cases like (bvadd (ite c t e) ...)
2016-02-25 19:41:01 +00:00