Nikolaj Bjorner
ad5fa9433f
add experiment with quot-rem encoding
...
experiment seeks to determine whether quot-rem encoding can substitute the division circuit encoding.
A first test suggests it makes no difference.
2022-10-21 09:25:45 -07:00
Nikolaj Bjorner
2449ba93c5
add (disabled) experiment to use quot-rem instead of division circuit
2022-10-13 15:20:43 +02:00
Nikolaj Bjorner
058ed3de56
fix #6331
2022-09-07 12:37:50 -07:00
Nikolaj Bjorner
159026b5e8
regression fix to ackerman gc and memory smash, perf fix for handling bv2int axioms, perf fix for filtering ackerman
...
this update addresses some perf regressions introduced when handling axioms for bv2int and a memory smash regression when decoupling bv-ackerman from in-processing. It adds a filter based on bv_eq_axioms for disabling ackerman reductions on disequalities.
2022-08-26 10:44:33 -07:00
Nikolaj Bjorner
a38308792e
#6288
...
floating points may also track bit-literals.
Since the legacy solver doesn't handle dual tracking of literals we just let the floating point solver track.
2022-08-21 15:47:19 -07:00
Nikolaj Bjorner
63f48f8fd4
add options for logging learned lemmas and theory axioms
...
- add solver.axioms2files
- prints negated theory axioms to files. Each file should be unsat
- add solver.lemmas2console
- prints lemmas to the console.
- remove option smt.arith.dump_lemmas. It is replaced by solver.axioms2files
2022-08-08 11:18:56 +03:00
Nikolaj Bjorner
1378e713ba
fix #6157
2022-07-13 14:37:04 -07:00
Nikolaj Bjorner
580ed31afd
fix types and incompleteness for feature #6104
2022-07-06 01:08:54 -07:00
Nikolaj Bjorner
de41cfd277
fix #6104
...
add equality reasoning to bit-vector solver to instantiate int2bv(bv2int(x)) = x identity on demand.
2022-07-05 12:23:24 -07:00
Clemens Eisenhofer
81189d6fdd
Added bit2bool to the API ( #5992 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
* Added decide-callback to user-propagator
* Refactoring
* Fixed index
* Added bit2bool to the API
Fixed bug in user-propagator's decide callback
* Fixed typo
2022-04-22 09:54:21 +01:00
Clemens Eisenhofer
e11496bc65
Added decide-callback to user-propagator ( #5978 )
...
* Fixed registering expressions in push/pop
* Reused existing function
* Reverted reusing can_propagate
* Added decide-callback to user-propagator
* Refactoring
* Fixed index
2022-04-15 20:07:17 +02:00
Nikolaj Bjorner
964e513353
re-add bv_eq_axioms, fix #5842
2022-03-19 12:37:01 -07:00
Nikolaj Bjorner
1e463955c2
#4889 avoid double internalize of bvle
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-20 09:09:28 -08:00
Nikolaj Bjorner
6202cd5394
fix #5842
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-16 17:38:19 +02:00
Nikolaj Bjorner
c00591daaf
finish is-fixed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-19 16:28:34 +01:00
Nikolaj Bjorner
0f03ef4ab0
for Clemens: ensure fixed values are propagated after registration
...
Also allow to register expressions that the rewriter changes to ensure they get picked up.
2022-01-19 14:38:11 +01:00
Nikolaj Bjorner
66fc980154
add helper axioms for int2bv #5396
2021-07-10 17:13:16 +02: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
bb2c40072e
skip div 1
2021-03-28 14:17:49 -07:00
Nikolaj Bjorner
15a7621e27
remove template dependency for trail objects
2021-03-19 11:15:05 -07:00
Nikolaj Bjorner
026065ff71
streamline pb solver interface and naming after removal of xor
2021-02-28 12:32:04 -08:00
Nikolaj Bjorner
a152bb1e80
remove template Context dependency in every trail object
2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
8f577d3943
remove ast_manager get_sort method entirely
2021-02-02 13:57:01 -08:00
Nikolaj Bjorner
937b61fc88
fix build, refactor
2021-02-02 05:26:57 -08:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
bb24b3f2be
fix #4836
2020-11-29 21:08:28 -08:00
Nikolaj Bjorner
64af8981ba
fix #4834 , regression after delay-propagating disequality axioms
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-29 19:43:46 -08:00
Nikolaj Bjorner
6e14d3fbd3
fix #4795
2020-11-27 18:00:36 -08:00
Nikolaj Bjorner
df09cb7c95
fix relevancy test
2020-11-27 14:49:05 -08:00
Nikolaj Bjorner
6771e44d93
fix #4825 #4824
2020-11-27 13:39:33 -08:00
Nikolaj Bjorner
cb4e5197fa
#4740
...
Fix https://github.com/Z3Prover/z3/issues/4740#issuecomment-712092917
2020-11-12 16:55:07 -08:00
Nikolaj Bjorner
8691ef1d4d
additional bit-vector propagators ( #4695 )
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-18 12:38:29 -07:00
Nikolaj Bjorner
e46ad45968
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-24 02:20:30 -07:00
Nikolaj Bjorner
eef05e00af
user propagator
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-20 10:39:20 -07:00
Nikolaj Bjorner
152c95f72a
adding user-propagator ability
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 22:39:55 -07:00
Nikolaj Bjorner
ca3ec22b7a
handle better cancellation for parallel, switch between cube mode and base level mode in smt.threads, expose parameters to control theory_bv and phase caching
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-16 23:29:24 -07:00
Nikolaj Bjorner
c63ad2e834
enable ranges for bit-vectors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-13 10:53:37 -07:00
Nikolaj Bjorner
ab7b8b6ec5
fix #4572
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:58:44 -07:00
Nikolaj Bjorner
be36a8fd80
fix for SPACER models using bit2bool
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-16 10:45:11 -07:00
Nikolaj Bjorner
9ca5b3f304
fix #4449
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:10:07 -07:00
Nuno Lopes
023b630b5a
remove unused class fields in BV theory
2020-06-02 16:36:38 +01:00
Nuno Lopes
b9ecf2512f
more tweaks to BV internalizer & remove dead code
2020-06-02 15:26:57 +01:00
Nuno Lopes
e079af9d0d
add context::internalize() API that takes multiple expressions at once ( #4488 )
2020-06-01 11:51:39 -07:00
Nikolaj Bjorner
becf423c77
remove level of indirection for context and ast_manager in smt_theory ( #4253 )
...
* remove level of indirection for context and ast_manager in smt_theory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add request by #4252
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move to def
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* int
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-08 16:46:03 -07:00
Nikolaj Bjorner
82236d44c6
some simplifications in theory_bv
2020-05-05 12:27:15 -07:00
Nikolaj Bjorner
029edcfabd
fix #4114
2020-04-26 16:17:42 -07:00
Nikolaj Bjorner
b889b110ee
bool_vector, some spacer tidy
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner
426e4cc75c
fix #3557
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner
36cddd0c46
fix #3235 - return early during lookaehad, avoid checking invariant when context is inconsistent
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-11 10:55:56 -07:00
Nikolaj Bjorner
bed2097fc4
fix #3076 - need to apply relevancy propagation in mk_bits. Assume bv v is already relevant but did not have bits associated with it, the bits need to then be marked as relevant
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-10 10:36:00 -07:00