3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 03:27:52 +00:00

working on completing ATE/ALA for acce and abce

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-01-29 20:32:06 -08:00
parent 3b1810d893
commit 5a2b072ddf
29 changed files with 466 additions and 230 deletions

View file

@ -28,8 +28,8 @@ namespace sat {
}
// for ternary clauses
static bool contains_watched(watch_list const & wlist, literal l1, literal l2) {
return wlist.contains(watched(l1, l2));
static bool contains_watched(watch_list const & wlist, literal l1, literal l2, bool learned) {
return wlist.contains(watched(l1, l2, learned));
}
// for nary clauses
@ -64,13 +64,13 @@ namespace sat {
return true;
if (c.size() == 3) {
CTRACE("sat_ter_watch_bug", !contains_watched(s.get_wlist(~c[0]), c[1], c[2]), tout << c << "\n";
CTRACE("sat_ter_watch_bug", !contains_watched(s.get_wlist(~c[0]), c[1], c[2], c.learned()), tout << c << "\n";
tout << "watch_list:\n";
sat::display_watch_list(tout, s.m_cls_allocator, s.get_wlist(~c[0]));
tout << "\n";);
VERIFY(contains_watched(s.get_wlist(~c[0]), c[1], c[2]));
VERIFY(contains_watched(s.get_wlist(~c[1]), c[0], c[2]));
VERIFY(contains_watched(s.get_wlist(~c[2]), c[0], c[1]));
VERIFY(contains_watched(s.get_wlist(~c[0]), c[1], c[2], c.is_learned()));
VERIFY(contains_watched(s.get_wlist(~c[1]), c[0], c[2], c.is_learned()));
VERIFY(contains_watched(s.get_wlist(~c[2]), c[0], c[1], c.is_learned()));
}
else {
if (s.value(c[0]) == l_false || s.value(c[1]) == l_false) {