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 |
|
Christoph M. Wintersteiger
|
6aa5ec9f77
|
Eliminated unused variables
|
2015-11-23 13:12:05 +00:00 |
|
Christoph M. Wintersteiger
|
806016c315
|
build fix
|
2015-11-13 14:11:39 +00:00 |
|
Christoph M. Wintersteiger
|
643dbb874b
|
Added tactic that translates BV arrays into BV UFs.
|
2015-11-12 15:27:33 +00:00 |
|
Christoph M. Wintersteiger
|
746689904d
|
Added elim_small_bv_tactic.
|
2015-11-10 16:23:05 +00:00 |
|