Nikolaj Bjorner
ba5cec7704
additional rewrites for bv2int
2024-09-22 21:29:12 +03:00
Nikolaj Bjorner
e9abdbb7a4
fix #7011
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 15:08:08 -08:00
Antti Hyvärinen
12e45c9d17
Implement proposed smtlib2 bitvector overflow predicates ( #6715 )
...
* Logical names for function declarations in c++
Currently, for example, the function declaration symbol member for
checking whether multiplication *does not* overflow is called
`m_bv_smul_ovfl`. Since we are introducing the upcoming smtlib2 symbols
that check that multpliciation *does* overflow, the not overflow check
symbols are renamed to `m_bv_smul_no_ovfl` etc.
* Implement smtlib overflow preds for multiplication
Smtlib2 is being extended to include overflow predicates for bit
vectors (see https://groups.google.com/u/1/g/smt-lib/c/J4D99wT0aKI ).
This commit introduces the predicates `bvumulo` and `bvsmulo` that
return `true` if the unsigned multiplication overflows or the signed
multiplication underflows or overflows, respectively.
* Move mul overflow predicates to BV logic
* Add a todo on illogical argument order
* Implement mk_unary_pred for bv
* Implement bvnego
* Implement bvuaddo
* Implement bvsaddo
* Implement bvusubo
* Implement bvssubo
* Implement bvsdivo
2023-05-09 10:37:46 -07:00
Nikolaj Bjorner
fcea32344e
add missing tactic descriptions, add rewrite for tamagochi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-08 13:32:26 -08:00
Nikolaj Bjorner
79e6d4e32d
tune and debug elim-unconstrained (v2 - for simplifiers infrastructure)
2022-12-04 03:53:31 -08:00
Nikolaj Bjorner
cf7bba6288
use ast_manager as an attribute
2022-12-04 03:53:30 -08:00
Nikolaj Bjorner
fe1b4bf5ce
disable ternary, fixes to propagation, make bv_rewrites for multiplier n-ary
2022-10-26 23:44:38 -07:00
Nikolaj Bjorner
8d980ea704
remove internal configuration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 12:13:18 -07:00
Clemens Eisenhofer
0b20a4ebf4
Added rewriting distinct with bitvectors to false if bit-size is too low ( #5956 )
...
* Fixed problem with registering bitvector functions
* Added rewriting distinct with bitvectors to false if bit-size is too low
* Removed debug output
* Incorporated Nikolaj's comments
* Simplifications
2022-04-09 21:46:21 +02:00
Nikolaj Bjorner
431c3af409
fix #5929 - add parameter bv_le2extract to allow disabling the disassembly to extract
2022-03-27 18:23:41 -10:00
Nikolaj Bjorner
2551631957
mul overflow #5797
2022-01-29 09:15:38 -08:00
Nikolaj Bjorner
1619311ff7
fix #4826
2020-11-27 10:42:13 -08:00
Nikolaj Bjorner
193ca57444
fix #4811
2020-11-22 16:05:44 -08:00
Nikolaj Bjorner
299e1788b8
fix #4808
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-21 15:03:17 -08:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nuno Lopes
5ec04f7fd2
forgot to remove unneeded class field
2020-04-22 15:30:16 +01:00
Nikolaj Bjorner
bcbe802b27
remove buggy bv-trailing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-18 19:45:26 -07:00
Nikolaj Bjorner
040d4b8d24
fix #3994 remove bogus option
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-16 18:51:52 -07:00
Nikolaj Bjorner
8579a004d0
distribute concat over bvxor and bvor, #2470
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-07 15:14:58 -07:00
Nikolaj Bjorner
0d400a5ad6
fix bit2bool bug reported by Jianying Li
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-04 07:46:53 -08:00
Nikolaj Bjorner
9e4b2a6795
port simplifications on bv2int
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 02:55:50 -07:00
Nikolaj Bjorner
ac0bb6a3d0
remove simplify dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-25 23:56:09 -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
Mikolas Janota
147c0f8152
Removing an unused method from bv_rewriter.
2016-09-16 19:44:37 +01:00
Mikolas Janota
ec47a1df50
Adding bv preprocessing techniques.
2016-09-16 19:44:37 +01:00
Christoph M. Wintersteiger
70301ad3c8
Added bv*mul_no*flow handling in bv_rewriter.
...
Fixes #657 .
2016-06-24 16:25:11 +01:00
mikolas
fced47386e
More work on trailing 0 analysis.
2016-04-06 11:04:09 +01:00
mikolas
78cb1e3c7b
More work on trailing 0 analysis.
2016-04-06 11:04:05 +01:00
mikolas
c7f1746321
Starting to work on trailing 0 analysis.
2016-04-06 11:04:03 +01:00
Christoph M. Wintersteiger
bb5118acbb
Bugfix for bv*div0 model construction.
2016-02-05 13:53:35 +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
Nikolaj Bjorner
ef7915858b
add filter to detect circumventing the default semantics of bit-vector division with the use of the sat-based bit-vector solver. Provides a way to fix issue #190
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-24 16:27:07 -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
Leonardo de Moura
a71bb549c6
Add option :bv-sort-ac true
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-03-24 14:59:29 -07:00
Leonardo de Moura
8515044f8b
Add option bvnot2arith
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-27 20:28:42 -08:00
Leonardo de Moura
0a4446ae26
reorganizing the code
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-23 22:14:35 -07:00