3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00

build fix

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-01-29 06:23:27 -08:00
parent 4e98a39d60
commit c0c314d1ae
3 changed files with 24 additions and 24 deletions

View file

@ -85,12 +85,12 @@ namespace q {
lit.lhs; lit.lhs;
lit.rhs; lit.rhs;
if (lit.sign) { if (lit.sign) {
SASSERT(l_true == compare(n, b.m_nodes, l.lhs, l.rhs)); SASSERT(l_true == compare(n, b.m_nodes, lit.lhs, lit.rhs));
explain_eq(c, b, lit.lhs, lit.rhs); explain_eq(n, b.m_nodes, lit.lhs, lit.rhs);
} }
else { else {
SASSERT(l_false == compare(n, b.m_nodes, l.lhs, l.rhs)); SASSERT(l_false == compare(n, b.m_nodes, lit.lhs, lit.rhs));
explain_diseq(c, b, lit.lhs, lit.rhs); explain_diseq(n, b.m_nodes, lit.lhs, lit.rhs);
} }
} }
ctx.get_egraph().end_explain(); ctx.get_egraph().end_explain();
@ -125,8 +125,8 @@ namespace q {
explain_eq(n, binding, to_app(s)->get_arg(i), to_app(t)->get_arg(i)); explain_eq(n, binding, to_app(s)->get_arg(i), to_app(t)->get_arg(i));
} }
void ematch::explain_diseq(clause& c, binding& b, expr* a, expr* b) { void ematch::explain_diseq(unsigned n, euf::enode* const* binding, expr* s, expr* t) {
if (m.are_diseq(s, t)) if (m.are_distinct(s, t))
return; return;
euf::enode* sn = eval(n, binding, s); euf::enode* sn = eval(n, binding, s);
euf::enode* tn = eval(n, binding, t); euf::enode* tn = eval(n, binding, t);

View file

@ -122,8 +122,8 @@ namespace q {
// extract explanation // extract explanation
ptr_vector<size_t> m_explain; ptr_vector<size_t> m_explain;
void explain(clause& c, unsigned literal_idx, binding& b); void explain(clause& c, unsigned literal_idx, binding& b);
void explain_eq(clause& c, binding& b, expr* a, expr* b); void explain_eq(unsigned n, euf::enode* const* binding, expr* s, expr* t);
void explain_diseq(clause& c, binding& b, expr* a, expr* b); void explain_diseq(unsigned n, euf::enode* const* binding, expr* s, expr* t);
void attach_ground_pattern_terms(expr* pat); void attach_ground_pattern_terms(expr* pat);
clause* clausify(quantifier* q); clause* clausify(quantifier* q);

View file

@ -1205,24 +1205,24 @@ namespace smt {
} }
TRACE("str_fl", TRACE("str_fl",
tout << "formulas asserted to subsolver:" << std::endl; tout << "formulas asserted to subsolver:" << std::endl;
for (auto e : fixed_length_assumptions) { for (auto e : fixed_length_assumptions) {
tout << mk_pp(e, subsolver.m()) << std::endl; tout << mk_pp(e, subsolver.m()) << std::endl;
} }
tout << "variable to character mappings:" << std::endl; tout << "variable to character mappings:" << std::endl;
for (auto &entry : var_to_char_subterm_map) { for (auto &entry : var_to_char_subterm_map) {
tout << mk_pp(entry.m_key, get_manager()) << ":"; tout << mk_pp(entry.m_key, get_manager()) << ":";
for (auto e : entry.m_value) { for (auto e : *entry.m_value) {
tout << " " << mk_pp(e, subsolver.m()); tout << " " << mk_pp(e, subsolver.m());
} }
tout << std::endl; tout << std::endl;
} }
tout << "reduced boolean formulas:" << std::endl; tout << "reduced boolean formulas:" << std::endl;
for (auto e : fixed_length_reduced_boolean_formulas) { for (expr* e : fixed_length_reduced_boolean_formulas) {
tout << mk_pp(e, m) << std::endl; tout << mk_pp(e, m) << std::endl;
} }
); );
TRACE("str_fl", tout << "calling subsolver" << std::endl;); TRACE("str_fl", tout << "calling subsolver" << std::endl;);
lbool subproblem_status = subsolver.check(fixed_length_assumptions); lbool subproblem_status = subsolver.check(fixed_length_assumptions);