mirror of
https://github.com/Z3Prover/z3
synced 2025-06-28 00:48:45 +00:00
model_evaluator: respect array_as_stores option
This commit is contained in:
parent
988466705c
commit
8ffbd5d1e5
1 changed files with 3 additions and 4 deletions
|
@ -198,9 +198,6 @@ struct evaluator_cfg : public default_rewriter_cfg {
|
||||||
if (evaluate(a->get_decl(), a->get_num_args(), a->get_args(), result)) {
|
if (evaluate(a->get_decl(), a->get_num_args(), a->get_args(), result)) {
|
||||||
return BR_REWRITE1;
|
return BR_REWRITE1;
|
||||||
}
|
}
|
||||||
if (false && m_array_as_stores && m_ar.is_array(result)) {
|
|
||||||
expand_stores(result);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
CTRACE("model_evaluator", st != BR_FAILED, tout << result << "\n";);
|
CTRACE("model_evaluator", st != BR_FAILED, tout << result << "\n";);
|
||||||
return st;
|
return st;
|
||||||
|
@ -210,7 +207,9 @@ struct evaluator_cfg : public default_rewriter_cfg {
|
||||||
vector<expr_ref_vector> stores;
|
vector<expr_ref_vector> stores;
|
||||||
expr_ref else_case(m);
|
expr_ref else_case(m);
|
||||||
bool _unused;
|
bool _unused;
|
||||||
if (m_ar.is_array(val) && extract_array_func_interp(val, stores, else_case, _unused)) {
|
if (m_array_as_stores &&
|
||||||
|
m_ar.is_array(val) &&
|
||||||
|
extract_array_func_interp(val, stores, else_case, _unused)) {
|
||||||
sort* srt = m.get_sort(val);
|
sort* srt = m.get_sort(val);
|
||||||
val = m_ar.mk_const_array(srt, else_case);
|
val = m_ar.mk_const_array(srt, else_case);
|
||||||
for (unsigned i = stores.size(); i-- > 0; ) {
|
for (unsigned i = stores.size(); i-- > 0; ) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue