3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 13:40:52 +00:00

remove extension model converter

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-11-17 17:25:35 -08:00
parent 0d15b6abb7
commit dc0b2a8acf
23 changed files with 69 additions and 151 deletions

View file

@ -24,7 +24,6 @@ Notes:
#include "tactic/tactical.h"
#include "ast/bv_decl_plugin.h"
#include "ast/rewriter/expr_replacer.h"
#include "tactic/extension_model_converter.h"
#include "tactic/generic_model_converter.h"
#include "ast/ast_smt2_pp.h"
@ -51,7 +50,7 @@ tactic * mk_bv_size_reduction_tactic(ast_manager & m, params_ref const & p) {
struct bv_size_reduction_tactic::imp {
typedef rational numeral;
typedef extension_model_converter bv_size_reduction_mc;
typedef generic_model_converter bv_size_reduction_mc;
ast_manager & m;
bv_util m_util;
@ -267,7 +266,7 @@ struct bv_size_reduction_tactic::imp {
if (m_produce_models) {
if (!m_mc)
m_mc = alloc(bv_size_reduction_mc, m);
m_mc->insert(v->get_decl(), new_def);
m_mc->add(v, new_def);
if (!m_fmc && new_const)
m_fmc = alloc(generic_model_converter, m);
if (new_const)

View file

@ -37,7 +37,6 @@ bvarray2uf_rewriter_cfg::bvarray2uf_rewriter_cfg(ast_manager & m, params_ref con
m_bindings(m),
m_bv_util(m),
m_array_util(m),
m_emc(0),
m_fmc(0),
extra_assertions(m) {
updt_params(p);
@ -115,9 +114,8 @@ func_decl_ref bvarray2uf_rewriter_cfg::mk_uf_for_array(expr * e) {
bv_f = m_manager.mk_fresh_func_decl("f_t", "", 1, &domain, range);
TRACE("bvarray2uf_rw", tout << "for " << mk_ismt2_pp(e, m_manager) << " new func_decl is " << mk_ismt2_pp(bv_f, m_manager) << std::endl; );
if (is_uninterp_const(e)) {
if (m_emc)
m_emc->insert(to_app(e)->get_decl(),
m_array_util.mk_as_array(bv_f));
if (m_fmc)
m_fmc->add(e, m_array_util.mk_as_array(bv_f));
}
else if (m_fmc)
m_fmc->hide(bv_f);
@ -191,9 +189,8 @@ br_status bvarray2uf_rewriter_cfg::reduce_app(func_decl * f, unsigned num, expr
bv_f = m_manager.mk_fresh_func_decl("f_t", "", 1, &domain, range);
TRACE("bvarray2uf_rw", tout << mk_ismt2_pp(e, m_manager) << " -> " << bv_f->get_name() << std::endl; );
if (is_uninterp_const(e)) {
if (m_emc)
m_emc->insert(e->get_decl(),
m_array_util.mk_as_array(bv_f));
if (m_fmc)
m_fmc->add(e, m_array_util.mk_as_array(bv_f));
}
else if (m_fmc)
m_fmc->hide(bv_f);

View file

@ -21,7 +21,6 @@ Notes:
#define BVARRAY2UF_REWRITER_H_
#include "ast/rewriter/rewriter.h"
#include "tactic/extension_model_converter.h"
#include "tactic/generic_model_converter.h"
class bvarray2uf_rewriter_cfg : public default_rewriter_cfg {
@ -30,7 +29,6 @@ class bvarray2uf_rewriter_cfg : public default_rewriter_cfg {
sort_ref_vector m_bindings;
bv_util m_bv_util;
array_util m_array_util;
extension_model_converter * m_emc;
generic_model_converter * m_fmc;
obj_map<expr, func_decl*> m_arrays_fs;
@ -59,7 +57,7 @@ public:
expr_ref_vector extra_assertions;
void set_mcs(extension_model_converter * emc, generic_model_converter * fmc) { m_emc = emc; m_fmc = fmc; }
void set_mcs(generic_model_converter * fmc) { m_fmc = fmc; }
protected:
sort * get_index_sort(expr * e);
@ -79,7 +77,7 @@ struct bvarray2uf_rewriter : public rewriter_tpl<bvarray2uf_rewriter_cfg> {
m_cfg(m, p) {
}
void set_mcs(extension_model_converter * emc, generic_model_converter * fmc) { m_cfg.set_mcs(emc, fmc); }
void set_mcs(generic_model_converter * fmc) { m_cfg.set_mcs(fmc); }
};
#endif

View file

@ -20,7 +20,6 @@ Notes:
#include "tactic/tactical.h"
#include "ast/bv_decl_plugin.h"
#include "ast/rewriter/expr_replacer.h"
#include "tactic/extension_model_converter.h"
#include "tactic/generic_model_converter.h"
#include "ast/ast_smt2_pp.h"
@ -68,10 +67,9 @@ class bvarray2uf_tactic : public tactic {
m_produce_models = g->models_enabled();
if (m_produce_models) {
extension_model_converter * emc = alloc(extension_model_converter, m_manager);
generic_model_converter * fmc = alloc(generic_model_converter, m_manager);
mc = concat(emc, fmc);
m_rw.set_mcs(emc, fmc);
mc = fmc;
m_rw.set_mcs(fmc);
}

View file

@ -26,7 +26,6 @@ Revision History:
#include "ast/bv_decl_plugin.h"
#include "ast/rewriter/rewriter_def.h"
#include "tactic/generic_model_converter.h"
#include "tactic/extension_model_converter.h"
#include "ast/rewriter/var_subst.h"
#include "ast/ast_util.h"
#include "ast/rewriter/enum2bv_rewriter.h"
@ -134,7 +133,6 @@ public:
for (sort* s : m_non_fd_sorts)
m_fd_sorts.remove(s);
if (!m_fd_sorts.empty()) {
ref<extension_model_converter> ext = alloc(extension_model_converter, m);
ref<generic_model_converter> filter = alloc(generic_model_converter, m);
enum2bv_rewriter rw(m, m_params);
rw.set_is_fd(&m_is_fd);
@ -155,9 +153,9 @@ public:
for (auto const& kv : rw.enum2bv())
filter->hide(kv.m_value);
for (auto const& kv : rw.enum2def())
ext->insert(kv.m_key, kv.m_value);
filter->add(kv.m_key, kv.m_value);
mc = concat(filter.get(), ext.get());
mc = filter.get();
report_tactic_progress(":fd-num-translated", rw.num_translated());
}
g->inc_depth();