3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-20 12:53:38 +00:00
This commit is contained in:
Nikolaj Bjorner 2024-01-29 12:26:51 -08:00
parent 2b683941b7
commit 908aaa06f7

View file

@ -172,18 +172,20 @@ struct evaluator_cfg : public default_rewriter_cfg {
struct has_redex {}; struct has_redex {};
struct has_redex_finder { struct has_redex_finder {
array_util& au; evaluator_cfg& ev;
has_redex_finder(array_util& au): au(au) {} has_redex_finder(evaluator_cfg& ev): ev(ev) {}
void operator()(var* v) {} void operator()(var* v) {}
void operator()(quantifier* q) {} void operator()(quantifier* q) {}
void operator()(app* a) { void operator()(app* a) {
if (au.is_as_array(a->get_decl())) if (ev.m_ar.is_as_array(a->get_decl()))
throw has_redex(); throw has_redex();
if (au.get_manager().is_eq(a)) if (ev.m_ar.get_manager().is_eq(a))
throw has_redex();
if (ev.m_fpau.is_fp(a))
throw has_redex(); throw has_redex();
} }
}; };
has_redex_finder ha(m_ar); has_redex_finder ha(*this);
try { try {
for_each_expr(ha, e); for_each_expr(ha, e);
} }