3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-26 21:16:02 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-09-01 07:15:13 -07:00
parent 74a2bf1588
commit ecddaeae66
6 changed files with 33 additions and 62 deletions

View file

@ -190,6 +190,8 @@ namespace euf {
if (s().value(lit) == l_true)
continue;
s().assign(literal(v, false), sat::justification::mk_ext_justification(lvl, eq_constraint().to_index()));
if (s().inconsistent())
return;
}
for (euf::enode* p : m_egraph.new_lits()) {
expr* e = p->get_owner();
@ -203,6 +205,11 @@ namespace euf {
if (s().value(lit) == l_false && m_ackerman)
m_ackerman->cg_conflict_eh(p->get_owner(), p->get_root()->get_owner());
s().assign(lit, sat::justification::mk_ext_justification(lvl, lit_constraint().to_index()));
if (s().inconsistent())
return;
}
for (euf::th_eq const& eq : m_egraph.new_th_eqs()) {
// m_id2solver[eq.m_id]->new_eq_eh(eq);
}
}

View file

@ -18,7 +18,7 @@ Author:
#include "util/top_sort.h"
#include "sat/smt/sat_smt.h"
#include "ast/euf/euf_enode.h"
#include "ast/euf/euf_egraph.h"
namespace sat {
@ -63,6 +63,8 @@ namespace sat {
virtual ~th_solver() {}
virtual th_solver* fresh(solver* s, ast_manager& m, sat_internalizer& si) = 0;
virtual void new_eq_eh(euf::th_eq const& eq) {}
};