mirror of
https://github.com/Z3Prover/z3
synced 2025-06-29 01:18:45 +00:00
patch to fix #5110
This commit is contained in:
parent
d91eac24b7
commit
44156f9f55
2 changed files with 11 additions and 6 deletions
|
@ -641,15 +641,15 @@ namespace datatype {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool util::is_considered_uninterpreted(func_decl * f, unsigned n, expr* const* args) {
|
bool util::is_considered_uninterpreted(func_decl * f, unsigned n, expr* const* args) {
|
||||||
if (is_accessor(f)) {
|
if (!is_accessor(f))
|
||||||
|
return false;
|
||||||
func_decl* c = get_accessor_constructor(f);
|
func_decl* c = get_accessor_constructor(f);
|
||||||
SASSERT(n == 1);
|
SASSERT(n == 1);
|
||||||
|
std::cout << f->get_name() << " " << mk_pp(args[0], m) << "\n";
|
||||||
if (is_constructor(args[0]))
|
if (is_constructor(args[0]))
|
||||||
return to_app(args[0])->get_decl() != c;
|
return to_app(args[0])->get_decl() != c;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool util::is_fully_interp(sort * s) const {
|
bool util::is_fully_interp(sort * s) const {
|
||||||
SASSERT(is_datatype(s));
|
SASSERT(is_datatype(s));
|
||||||
|
|
|
@ -363,12 +363,17 @@ struct evaluator_cfg : public default_rewriter_cfg {
|
||||||
result = m.get_some_value(f->get_range());
|
result = m.get_some_value(f->get_range());
|
||||||
return BR_DONE;
|
return BR_DONE;
|
||||||
}
|
}
|
||||||
|
else if (m_dt.is_accessor(f) && !is_ground(args[0])) {
|
||||||
|
result = m.mk_app(f, num, args);
|
||||||
|
return BR_DONE;
|
||||||
|
}
|
||||||
if (fi) {
|
if (fi) {
|
||||||
if (fi->is_partial())
|
if (fi->is_partial())
|
||||||
fi->set_else(m.get_some_value(f->get_range()));
|
fi->set_else(m.get_some_value(f->get_range()));
|
||||||
|
|
||||||
var_subst vs(m, false);
|
var_subst vs(m, false);
|
||||||
result = vs(fi->get_interp(), num, args);
|
result = vs(fi->get_interp(), num, args);
|
||||||
|
std::cout << result << "\n";
|
||||||
return BR_REWRITE_FULL;
|
return BR_REWRITE_FULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue