Skip to content

Commit

Permalink
fix #7037
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolajBjorner committed Dec 5, 2023
1 parent f98b42a commit 84a7a79
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/smt/theory_datatype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -509,10 +509,10 @@ namespace smt {
// Assuming `app` is equal to a constructor term, return the constructor enode
inline enode * theory_datatype::oc_get_cstor(enode * app) {
theory_var v = app->get_root()->get_th_var(get_id());
SASSERT(v != null_theory_var);
if (v == null_theory_var)
return nullptr;
v = m_find.find(v);
var_data * d = m_var_data[v];
SASSERT(d->m_constructor);
return d->m_constructor;
}

Expand Down Expand Up @@ -802,8 +802,9 @@ namespace smt {
return false;
func_decl* con = m_util.get_accessor_constructor(f);
for (enode* app : ctx.enodes_of(f)) {
enode* arg = app->get_arg(0)->get_root();
if (is_constructor(arg) && arg->get_decl() != con)
enode* arg = app->get_arg(0);
enode* arg_con = oc_get_cstor(arg);
if (arg_con && is_constructor(arg_con) && arg_con->get_decl() != con)
return true;
}
return false;
Expand Down

0 comments on commit 84a7a79

Please sign in to comment.