3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

rewrite quantifiers in model evaluator #2171

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-03-06 22:03:57 -08:00
parent 006590f329
commit 5abc4a6d68
4 changed files with 31 additions and 2 deletions

View file

@ -30,6 +30,7 @@ Revision History:
#include "ast/rewriter/datatype_rewriter.h"
#include "ast/rewriter/array_rewriter.h"
#include "ast/rewriter/fpa_rewriter.h"
#include "ast/rewriter/th_rewriter.h"
#include "ast/rewriter/rewriter_def.h"
#include "ast/ast_pp.h"
#include "ast/ast_util.h"
@ -126,6 +127,17 @@ struct evaluator_cfg : public default_rewriter_cfg {
return false;
}
bool reduce_quantifier(quantifier * old_q,
expr * new_body,
expr * const * new_patterns,
expr * const * new_no_patterns,
expr_ref & result,
proof_ref & result_pr) {
th_rewriter th(m);
return th.reduce_quantifier(old_q, new_body, new_patterns, new_no_patterns, result, result_pr);
}
br_status reduce_app(func_decl * f, unsigned num, expr * const * args, expr_ref & result, proof_ref & result_pr) {
result_pr = nullptr;
family_id fid = f->get_family_id();