3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-02 13:27:01 +00:00
This commit is contained in:
Nikolaj Bjorner 2020-04-27 11:31:02 -07:00
parent a0de244487
commit 1c2aa1076b
6 changed files with 41 additions and 13 deletions

View file

@ -2464,6 +2464,27 @@ namespace qe {
fml = tmp;
}
bool has_quantified_uninterpreted(ast_manager& m, expr* fml) {
struct found {};
struct proc {
ast_manager& m;
proc(ast_manager& m):m(m) {}
void operator()(quantifier* q) {
if (has_uninterpreted(m, q->get_expr()))
throw found();
}
void operator()(expr*) {}
};
try {
proc p(m);
for_each_expr(p, fml);
return false;
}
catch (found) {
return true;
}
}
class simplify_solver_context : public i_solver_context {
ast_manager& m;