Jakob Rath
e76c6b0fdc
fix test
2023-11-29 15:04:23 +01:00
Jakob Rath
3b1836ea1e
fixed bits tests
2023-11-29 15:04:22 +01:00
Nikolaj Bjorner
a805e1f27d
fixes to AC plugin
2023-11-28 12:50:43 -08:00
Nikolaj Bjorner
14483dcd6e
n/a
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-20 16:15:30 -08:00
Nikolaj Bjorner
6a572543b4
n/a
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-20 15:54:00 -08:00
Nikolaj Bjorner
5c71824f2b
adding unit test for arith_plugin
2023-11-12 16:48:10 -08:00
Nikolaj Bjorner
65a8c162f5
add E(T) functionality for bv and ac functions
...
Add an option to register EUF modulo theories,
The current theory with a unit test is BV.
The arithmetic theory plugs into an AC completion. It is partially finished, pending setting up testing and implementing handling of shared terms.
2023-11-12 15:39:56 -08:00
Jakob Rath
5a03d13913
viable::test3
2023-11-10 10:53:15 +01:00
Jakob Rath
fc676e235f
fix some bugs, add unit test
2023-11-09 15:03:14 +01:00
Jakob Rath
8e94608485
compile test
2023-11-06 10:52:22 +01:00
Jakob Rath
e96f69e76c
Fix pdd_iterator for non-zero constant polynomials
2023-09-28 11:42:08 +02:00
Jakob Rath
f8c9ed1d90
Revisit ule_constraint simplifications and add unit test for this
...
If we can be certain of simplification results,
it is easier to recognize patterns for fixed bits and similar.
2023-08-17 17:46:34 +02:00
Jakob Rath
c95ff56d2d
slicing: change how values are tracked
...
Do not eagerly merge equivalence classes with the same constant value.
Reason:
- when we split a value slice, the subslice might already exist in the
egraph and already have subslices itself, which breaks assumptions in
split/split_core.
- introduces unnecessary splits
Now:
- wrap constants into fresh function symbol before creating the enode
- check value compatibility in on_merge callback instead
- track pointer to value_node for each enode, and update it in on_merge
2023-08-17 17:14:18 +02:00
Jakob Rath
11b582cce7
Add rational::next_power_of_two
2023-08-16 09:48:32 +02:00
Jakob Rath
1f640b96c9
compile unit tests
2023-08-14 14:00:41 +02:00
Jakob Rath
d36262d731
fix unit tests
2023-08-07 17:38:00 +02:00
Jakob Rath
8b9d9db77e
compile
2023-07-27 15:49:50 +02:00
Jakob Rath
9335b6eed6
refactor slicing dep
2023-07-27 15:35:59 +02:00
Jakob Rath
6cb84dc4cd
collect_simple_overlaps
2023-07-26 14:39:46 +02:00
Jakob Rath
19c1ba5158
update tests
2023-07-26 09:47:34 +02:00
Jakob Rath
e7c9112beb
bugfix
2023-07-21 12:45:46 +02:00
Jakob Rath
4142201d88
fix disequality conflict shortcut
2023-07-20 15:10:58 +02:00
Jakob Rath
73757e3fa4
mk_extract
2023-07-19 19:37:21 +02:00
Jakob Rath
af73f26941
slicing: track disequalities
2023-07-19 12:04:45 +02:00
Jakob Rath
c124cbae97
Add virtual concat terms on demand during propagation
2023-07-18 14:48:32 +02:00
Jakob Rath
0d80e47350
update deps handling (need to support pvars as well)
2023-07-18 11:22:02 +02:00
Jakob Rath
11d9e5c862
minor
2023-07-17 19:04:17 +02:00
Jakob Rath
a2fdb03625
propagate value when splitting a slice
2023-07-17 18:18:12 +02:00
Jakob Rath
30323a6ba1
update unit test
2023-07-17 14:41:45 +02:00
Jakob Rath
8c17e231ad
don't 'find' when creating subslice
2023-07-12 16:45:51 +02:00
Jakob Rath
f61bf0843b
display
2023-07-12 15:46:40 +02:00
Jakob Rath
59c3234fb8
Merge branch 'master' into polysat
2023-07-10 09:45:55 +02:00
Jakob Rath
b4edc4d20c
slicing checkpoint
2023-07-08 20:08:45 +02:00
Lev Nachmanson
61948fa1ff
find minimal deltas in patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-07-01 07:48:07 -07:00
Jakob Rath
54487f3294
slicing::explain_equal
2023-06-28 11:15:16 +02:00
Jakob Rath
7d7735b010
test
2023-06-28 10:41:22 +02:00
Jakob Rath
05ea32f17d
update test
2023-06-28 10:37:07 +02:00
Lev Nachmanson
30a2ced9aa
patching merge ( #6780 )
...
* patching merge
* fix the format and some warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* a fix in the delta calculation
* test patching
* try a new version of get_patching_deltas
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove dead code from lp_tst and try optimizing patching
* add comments, replace VERIFY with lp_assert
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* cleanup
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-06-27 17:53:27 -07:00
Jakob Rath
8a50467ba8
Fix mk_slice, add mk_extract/mk_concat
2023-06-16 11:48:01 +02:00
Jakob Rath
862707baa0
test2
2023-06-15 17:09:46 +02:00
Jakob Rath
cddfcc1658
get rid of _idx suffix
2023-06-15 16:58:39 +02:00
Jakob Rath
2a3006cce3
Don't track arbitrary hi/lo reference points and just store the slice width
2023-06-15 16:55:26 +02:00
Jakob Rath
8ce85da881
test and bugfix
2023-06-15 16:02:25 +02:00
Jakob Rath
40f794c5b4
test stub
2023-06-15 11:53:06 +02:00
Jakob Rath
136e819cb9
set up test for slicing
2023-06-15 11:43:14 +02:00
Jakob Rath
f54f33551e
Merge branch 'master' into polysat
2023-05-26 15:58:09 +02:00
Nikolaj Bjorner
624907823d
add tests for distribution utility and fix loose ends
2023-04-13 11:19:06 -07:00
Lev Nachmanson
8b0aa22631
replace lp_assert(false) with UNREACHABLE
2023-03-08 10:27:05 -08:00
Lev Nachmanson
1fb24ebc35
fix lp_tst
2023-03-08 10:27:05 -08:00
Lev Nachmanson
11eab94321
more dead code
2023-03-08 10:27:05 -08:00