3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

shuffle checks for enable_edge around fix #4159

This commit is contained in:
Nikolaj Bjorner 2020-04-28 19:51:34 -07:00
parent 71e9bf1053
commit a11dc5d3b5
4 changed files with 9 additions and 13 deletions

View file

@ -346,7 +346,7 @@ namespace datatype {
bool is_is(app * f) const { return is_app_of(f, fid(), OP_DT_IS);}
bool is_is(expr * e) const { return is_app(e) && is_is(to_app(e)); }
bool is_recognizer(app * f) const { return is_recognizer0(f) || is_is(f); }
bool is_accessor(app * f) const { return is_app_of(f, fid(), OP_DT_ACCESSOR); }
bool is_accessor(expr * e) const { return is_app(e) && is_app_of(to_app(e), fid(), OP_DT_ACCESSOR); }
bool is_update_field(app * f) const { return is_app_of(f, fid(), OP_DT_UPDATE_FIELD); }
app* mk_is(func_decl * c, expr *f);
ptr_vector<func_decl> const * get_datatype_constructors(sort * ty);

View file

@ -35,7 +35,7 @@ void value_sweep::set_value_core(expr* e, expr* v) {
}
void value_sweep::set_value(expr* e, expr* v) {
if (!is_reducible(e)) {
if (!is_reducible(e) || m_dt.is_accessor(e)) {
set_value_core(e, v);
m_pinned.push_back(e);
}