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

73 commits

Author SHA1 Message Date
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
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
Nuno Lopes
c693c990df bv_bounds: speedup up to 10x in larger formulas
introduce a may_simplify() function to short-circuit evaluation of expression trees that are guaranteed to not be simplifiable
2016-02-25 16:53:35 +00:00
Nuno Lopes
c1aa33339d bv_bounds: early exit in is_bound in case the expr is not boolean
~2% speedup
2016-02-25 09:32:10 +00:00
Nikolaj Bjorner
63c138c08e add option to enable equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-21 11:16:13 -08:00
Nikolaj Bjorner
d4f41c0420 add goal context for simplifier, disable equality creation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-20 10:13:24 -08:00
Nuno Lopes
c618838ed9 bv_bounds: fix crash in push() when realloc happened 2016-02-19 11:06:22 +00:00
Nuno Lopes
121b3b60f3 bv_bounds/ctx_simplify: improve handling of (ite x a b) where (not x) is proved to be false 2016-02-19 09:42:42 +00:00
Nuno Lopes
d32b4c71d1 [bv_bounds] introduce a tight bit in intervals to denote they are tight (over and under approx)
use this to ensure certain transformations remain sound
2016-02-18 15:53:11 +00:00
Nuno Lopes
8718c1c99f bv_bounds: simplify negated expressions as well 2016-02-17 19:14:02 +00:00
Nuno Lopes
a4cfcd4550 bv_bounds: fix bug in interval intersection for non-wrapping disjoint values 2016-02-17 16:32:43 +00:00
Nuno Lopes
ac20d8bc11 bv_bounds: fix intersection of wrapped intervals
e.g., [117, 115] /\ [115, 113] -> [115, 113]
2016-02-17 15:41:12 +00:00
Nuno Lopes
98a92b9255 bv_bounds tactic: change representation to intervals
Code by myself and Nikolaj Bjorner
2016-02-17 10:02:40 +00:00
Nikolaj Bjorner
d3805bbdf6 fix location of level retrieval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-15 17:29:46 -08:00
Nikolaj Bjorner
8fc58e1ace propagate bounds implementation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-13 02:07:41 +00:00
Nikolaj Bjorner
d7186eede8 bv bounds tactic for Nuno
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-13 00:13:16 +00:00
Nikolaj Bjorner
e484fc365d add outline of bv bounds tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 22:57:47 +00:00
Christoph M. Wintersteiger
3f6a1eb8c5 Fix for QF_BV core theory detection. 2016-02-02 13:01:32 +00:00
Mikolas Janota
743a59254e Merge remote-tracking branch 'upstream/master' into lackr 2016-01-07 16:39:43 +00:00
Nikolaj Bjorner
8e26c97782 tuning bit-vector operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-21 13:09:03 +02:00
Mikolas Janota
3dbc307ecd Setting up the lackr branch. 2015-12-16 20:10:14 +00:00
Nikolaj Bjorner
a7e2fb31e3 updates to resource exceptions, update master possibly handle pull request issue
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 11:36:49 -08:00
Nikolaj Bjorner
2a051719d8 cleanup deprecated critical sections, fix cancellation for par_or_else tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 09:43:00 -08:00
Nikolaj Bjorner
baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Christoph M. Wintersteiger
db2f973e3e Fixed initialization order in bvarray2uf_tactic 2015-11-27 15:34:06 +00:00