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

add stubs for converting assertions, consolidate filter_model_converter

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-17 14:51:13 -08:00
parent 53e36c9cf9
commit 0d15b6abb7
76 changed files with 244 additions and 356 deletions

View file

@ -17,7 +17,6 @@ Revision History:
--*/
#include "tactic/tactical.h"
#include "tactic/filter_model_converter.h"
#include "util/cooperate.h"
#include "qe/qe.h"

View file

@ -44,11 +44,11 @@ namespace qe {
m(m),
m_asms(m),
m_trail(m),
m_fmc(alloc(filter_model_converter, m))
m_fmc(alloc(generic_model_converter, m))
{
}
filter_model_converter* pred_abs::fmc() {
generic_model_converter* pred_abs::fmc() {
return m_fmc.get();
}
@ -282,7 +282,7 @@ namespace qe {
app_ref pred_abs::fresh_bool(char const* name) {
app_ref r(m.mk_fresh_const(name, m.mk_bool_sort()), m);
m_fmc->insert(r->get_decl());
m_fmc->hide(r);
return r;
}
@ -747,9 +747,7 @@ namespace qe {
}
void filter_vars(app_ref_vector const& vars) {
for (unsigned i = 0; i < vars.size(); ++i) {
m_pred_abs.fmc()->insert(vars[i]->get_decl());
}
for (app* v : vars) m_pred_abs.fmc()->hide(v);
}
void initialize_levels() {

View file

@ -22,7 +22,7 @@ Revision History:
#define QE_QSAT_H__
#include "tactic/tactic.h"
#include "tactic/filter_model_converter.h"
#include "tactic/generic_model_converter.h"
#include "qe/qe_mbp.h"
namespace qe {
@ -72,7 +72,7 @@ namespace qe {
obj_map<expr, app*> m_asm2pred; // maintain map from assumptions to predicates
obj_map<expr, expr*> m_pred2asm; // predicates |-> assumptions
expr_ref_vector m_trail;
filter_model_converter_ref m_fmc;
generic_model_converter_ref m_fmc;
ptr_vector<expr> todo;
obj_map<expr, max_level> m_elevel;
obj_map<func_decl, max_level> m_flevel;
@ -91,7 +91,7 @@ namespace qe {
public:
pred_abs(ast_manager& m);
filter_model_converter* fmc();
generic_model_converter* fmc();
void reset();
max_level compute_level(app* e);
void push();