Nikolaj Bjorner
efbe0a6554
wip - updated version of elim_uncstr_tactic
...
- remove reduce_invertible. It is subsumed by reduce_uncstr(2)
- introduce a simplifier for reduce_unconstrained. It uses reference counting to deal with inefficiency bug of legacy reduce_uncstr. It decomposes theory plugins into expr_inverter.
reduce_invertible is a tactic used in most built-in scenarios. It is useful for removing subterms that can be eliminated using "cheap" quantifier elimination. Specifically variables that occur only once can be removed in many cases by computing an expression that represents the effect computing a value for the eliminated occurrence.
The theory plugins for variable elimination are very partial and should be augmented by extensions, esp. for the case of bit-vectors where the invertibility conditions are thoroughly documented by Niemetz and Preiner.
2022-11-12 17:56:45 -08:00
Nikolaj Bjorner
238ea0a264
add shorthands for concatentation
2022-11-08 12:21:25 -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
Jakob Rath
2c2ab0d57a
Additional BV matchers
2022-08-01 18:37:11 +03:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
CEisenhofer
0fa4b63d26
Added sbv2s ( #5413 )
...
* Added sbv2s
* Fixed indention
Co-authored-by: Clemens Eisenhofer <Clemens.Eisenhofer@tuwien.ac.at>
2021-07-16 17:58:28 +02:00
Nikolaj Bjorner
67ec86fc66
#5211
2021-04-22 22:53:18 -07:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
2fef6dc502
more scaffolding
2021-03-21 11:31:14 -07:00
Nikolaj Bjorner
18143d8932
fix #5102
2021-03-15 01:01:33 -07:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
4455f6caf8
move to get_sort as method, add opt_lns pass, disable xor simplification unless configured, fix perf bug in model converter update trail
2021-02-02 03:58:19 -08:00
Nikolaj Bjorner
bb24b3f2be
fix #4836
2020-11-29 21:08:28 -08:00
Nikolaj Bjorner
367e5fdd52
delay internalize ( #4714 )
...
* adding array solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use default in model construction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debug delay internalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* get rid of implied values and bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* redo egraph
* remove out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -07:00
Nikolaj Bjorner
d02b0cde7a
running updates to bv_solver ( #4674 )
...
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* dbg
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* drat and fresh
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move ackerman functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* debugability
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* towards debugability
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* missing file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove csp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-07 20:35:32 -07:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
843b6cf149
fix #4336 - check return values of eval, they can be null due to cancelation
2020-05-16 12:43:26 -07:00
nilsbecker
17adecff68
fixing ci issues
...
fixing if condition
2019-02-25 19:10:47 +01:00
nilsbecker
c033fb045f
2 things I prevoiusly overlooked
2019-02-23 12:34:17 +01:00
nilsbecker
6ee3941523
more cleanup
2019-02-23 12:08:08 +01:00
nilsbecker
a8586746be
cleanup for pull request
2019-02-23 02:47:33 +01:00
Nils Becker
0870760eb5
logging meaning of theory specific constants
2018-12-03 22:41:59 +01:00
Nuno Lopes
a73d030321
invertible_tactic: add partial support for shifts
2018-07-02 18:29:34 +01:00
Bruce Mitchener
2fa304d8de
Remove int64, uint64 typedefs in favor of int64_t / uint64_t.
2018-03-31 14:45:04 +07:00
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
e2b46257d6
reducing dependencies on simplifier
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-22 15:09:34 -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
3a9857940e
add missing axioms for str.at. Issue #953
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-25 19:31:01 +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
Christoph M. Wintersteiger
7ddd2856c8
Added is_considered_uninterpreted() to decl_plugins.
2016-02-05 15:22:37 +00:00
Christoph M. Wintersteiger
bb5118acbb
Bugfix for bv*div0 model construction.
2016-02-05 13:53:35 +00:00
Christoph M. Wintersteiger
b87f4ca677
whitespace
2016-02-05 13:48:05 +00:00
Nikolaj Bjorner
fd8fd40669
fix tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-20 08:00:01 -08: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
Nuno Lopes
67e9d74653
constify a few functions
...
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-03 09:44:31 -07:00
Leonardo de Moura
cec328cfdc
Add get_sort(expr * n) function that does not depend on ast_manager. Move power_of_two to rational class. Add arith_recognizers and bv_recognizers classes. The two new classes contain the 'read-only' methods from arith_util and bv_util.
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-18 14:44:51 -08:00
Leonardo de Moura
a07b459fdf
Added is_unique_value. Its semantics is equal to the old is_value method. The contract for is_value changed. See comments at ast.h for more information.
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-07 12:53:51 -08:00
Leonardo de Moura
8a6997960a
Reorganizing code. Added script for generating VS project files
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 15:16:37 -07:00