mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
parent
fbc3aa93a5
commit
f95d0b7216
|
@ -808,7 +808,6 @@ namespace smt {
|
|||
if (t_val && !m.is_unique_value(t_val))
|
||||
for (expr* v : values)
|
||||
found |= m.are_equal(v, t_val);
|
||||
|
||||
if (t_val && !found && !already_found.contains(t_val)) {
|
||||
values.push_back(t_val);
|
||||
already_found.insert(t_val);
|
||||
|
@ -1117,6 +1116,11 @@ namespace smt {
|
|||
tout << "NEW MODEL:\n";
|
||||
model_pp(tout, *m_model););
|
||||
}
|
||||
|
||||
bool is_default_representative(expr* t) {
|
||||
app* tt = nullptr;
|
||||
return t && m_sort2k.find(t->get_sort(), tt) && (tt == t);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
@ -2511,6 +2515,8 @@ namespace smt {
|
|||
if (s == nullptr)
|
||||
return nullptr;
|
||||
expr* t = s->get_inv(val);
|
||||
if (m_auf_solver->is_default_representative(t))
|
||||
return val;
|
||||
if (t != nullptr) {
|
||||
generation = s->get_generation(t);
|
||||
}
|
||||
|
|
|
@ -496,6 +496,7 @@ struct is_non_nira_functor {
|
|||
throw_found(n);
|
||||
if (m_linear && u.is_numeral(n->get_arg(1), r) && r.is_zero())
|
||||
throw_found(n);
|
||||
if (m_linear && u.is_numeral(n->get_arg(1), r) && !r.is_zero())
|
||||
if (!is_ground(n->get_arg(0)) || !is_ground(n->get_arg(1)))
|
||||
throw_found(n);
|
||||
return;
|
||||
|
|
Loading…
Reference in a new issue