3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
This commit is contained in:
Murphy Berzish 2017-05-03 17:45:56 -04:00
parent 41a242fab1
commit ab4fbe40b6
7 changed files with 11 additions and 20 deletions

View file

@ -1714,12 +1714,6 @@ namespace smt {
for (unsigned i = 0; i < m_th_eq_propagation_queue.size() && !inconsistent(); i++) {
new_th_eq curr = m_th_eq_propagation_queue[i];
theory * th = get_theory(curr.m_th_id);
TRACE("t_str_eq_bug", tout
<< "th->name = " << th->get_name() << std::endl
<< "m_th_id = " << curr.m_th_id << std::endl
<< "m_lhs = " << curr.m_lhs << std::endl
<< "m_rhs = " << curr.m_rhs << std::endl
<< std::endl;);
SASSERT(th);
th->new_eq_eh(curr.m_lhs, curr.m_rhs);
#ifdef Z3DEBUG
@ -3042,6 +3036,7 @@ namespace smt {
// not counting any literals that get assigned by this method
// this relies on bcp() to give us its old m_qhead and therefore
// bcp() should always be called before this method
unsigned assigned_literal_end = m_assigned_literals.size();
for (; qhead < assigned_literal_end; ++qhead) {
literal l = m_assigned_literals[qhead];

View file

@ -185,6 +185,14 @@ namespace smt {
virtual void add_theory_assumptions(expr_ref_vector & assumptions) {
}
/**
\brief This method is called from the smt_context when an unsat core is generated.
The theory may change the answer to UNKNOWN by returning l_undef from this method.
*/
virtual lbool validate_unsat_core(expr_ref_vector & unsat_core) {
return l_false;
}
/**
\brief This method is invoked before the search starts.
*/
@ -200,14 +208,6 @@ namespace smt {
return FC_DONE;
}
/**
\brief This method is called from the smt_context when an unsat core is generated.
The theory may change the answer to UNKNOWN by returning l_undef from this method.
*/
virtual lbool validate_unsat_core(expr_ref_vector & unsat_core) {
return l_false;
}
/**
\brief Parametric theories (e.g. Arrays) should implement this method.
See example in context::is_shared