3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-05 17:14:07 +00:00

handle ac-op in legacy special relations procedure by adding warning

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-12-03 12:55:37 -08:00
parent 1b1ebaa3b0
commit bd8bed1759
2 changed files with 9 additions and 3 deletions

View file

@ -130,7 +130,11 @@ namespace smt {
}
bool theory_special_relations::internalize_term(app * term) {
verbose_stream() << mk_pp(term, m) << "\n";
m_terms.push_back(term);
ctx.push_trail(push_back_vector(m_terms));
std::stringstream strm;
strm << "term not not handled by special relations procedure. Use sat.smt=true " << mk_pp(term, m);
warning_msg(strm.str().c_str());
return false;
}
@ -207,9 +211,10 @@ namespace smt {
if (new_equality) {
return FC_CONTINUE;
}
else {
else if (!m_terms.empty())
return FC_GIVEUP;
else
return FC_DONE;
}
}
lbool theory_special_relations::final_check_lo(relation& r) {

View file

@ -131,6 +131,7 @@ namespace smt {
special_relations_util m_util;
atoms m_atoms;
unsigned_vector m_atoms_lim;
ptr_vector<app> m_terms;
obj_map<func_decl, relation*> m_relations;
bool_var2atom m_bool_var2atom;
bool m_can_propagate;