3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-03 08:38:06 +00:00
Commit graph

894 commits

Author SHA1 Message Date
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