3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 19:27:06 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-15 08:06:43 -07:00
parent cce27ff65f
commit 25252af1fc
2 changed files with 7 additions and 6 deletions

View file

@ -1333,7 +1333,7 @@ namespace qe {
conjunctions m_conjs;
// maintain queue for variables.
app_ref_vector m_free_vars; // non-quantified variables
app_ref_vector m_trail;
@ -1588,6 +1588,7 @@ namespace qe {
void add_constraint(bool use_current_val, expr* l1 = nullptr, expr* l2 = nullptr, expr* l3 = nullptr) override {
search_tree* node = m_current;
expr_ref _l1(l1, m), _l2(l2, m), _l3(l3, m);
if (!use_current_val) {
node = m_current->parent();
}
@ -1600,7 +1601,7 @@ namespace qe {
add_literal(l2);
add_literal(l3);
expr_ref fml(m);
fml = m.mk_or(m_literals.size(), m_literals.c_ptr());
fml = m.mk_or(m_literals);
TRACE("qe", tout << fml << "\n";);
m_solver.assert_expr(fml);
}

View file

@ -650,13 +650,13 @@ namespace qe {
SASSERT(idx <= eqs.num_eqs());
if (idx < eqs.num_eqs()) {
expr* t = eqs.eq(idx);
m_ctx.add_constraint(true, m.mk_eq(x, t));
expr_ref eq(m.mk_eq(x, eqs.eq(idx)), m);
m_ctx.add_constraint(true, eq);
}
else {
for (unsigned i = 0; i < eqs.num_eqs(); ++i) {
expr* t = eqs.eq(i);
m_ctx.add_constraint(true, m.mk_not(m.mk_eq(x, t)));
expr_ref ne(m.mk_not(m.mk_eq(x, eqs.eq(i))), m);
m_ctx.add_constraint(true, ne);
}
}
}