3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-07 18:05:21 +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.rhs;
if (lit.sign) {
SASSERT(l_true == compare(n, b.m_nodes, l.lhs, l.rhs));
explain_eq(c, b, lit.lhs, lit.rhs);
SASSERT(l_true == compare(n, b.m_nodes, lit.lhs, lit.rhs));
explain_eq(n, b.m_nodes, lit.lhs, lit.rhs);
}
else {
SASSERT(l_false == compare(n, b.m_nodes, l.lhs, l.rhs));
explain_diseq(c, b, lit.lhs, lit.rhs);
SASSERT(l_false == compare(n, b.m_nodes, lit.lhs, lit.rhs));
explain_diseq(n, b.m_nodes, lit.lhs, lit.rhs);
}
}
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));
}
void ematch::explain_diseq(clause& c, binding& b, expr* a, expr* b) {
if (m.are_diseq(s, t))
void ematch::explain_diseq(unsigned n, euf::enode* const* binding, expr* s, expr* t) {
if (m.are_distinct(s, t))
return;
euf::enode* sn = eval(n, binding, s);
euf::enode* tn = eval(n, binding, t);

View file

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

View file

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