3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-05-03 11:44:44 -07:00
parent 2c97799564
commit 60cf482cea
5 changed files with 18 additions and 6 deletions

View file

@ -693,6 +693,10 @@ namespace dt {
void solver::add_value(euf::enode* n, model& mdl, expr_ref_vector& values) {
theory_var v = n->get_th_var(get_id());
if (v == euf::null_theory_var) {
values.set(n->get_root_id(), mdl.get_fresh_value(n->get_sort()));
return;
}
v = m_find.find(v);
SASSERT(v != euf::null_theory_var);
enode* con = m_var_data[v]->m_constructor;
@ -705,10 +709,10 @@ namespace dt {
bool solver::add_dep(euf::enode* n, top_sort<euf::enode>& dep) {
if (!is_datatype(n->get_expr()))
return true;
return false;
theory_var v = n->get_th_var(get_id());
if (v == euf::null_theory_var)
return true;
return false;
euf::enode* con = m_var_data[m_find.find(v)]->m_constructor;
if (con->num_args() == 0)
dep.insert(n, nullptr);