3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +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

@ -22,7 +22,6 @@ Notes:
#include "ast/has_free_vars.h"
#include "util/map.h"
#include "ast/rewriter/rewriter_def.h"
#include "tactic/extension_model_converter.h"
#include "tactic/generic_model_converter.h"
/**
@ -394,13 +393,10 @@ struct reduce_args_tactic::imp {
ptr_buffer<expr> new_args;
var_ref_vector new_vars(m_manager);
ptr_buffer<expr> new_eqs;
extension_model_converter * e_mc = alloc(extension_model_converter, m_manager);
generic_model_converter * f_mc = alloc(generic_model_converter, m_manager);
decl2arg2func_map::iterator it = decl2arg2funcs.begin();
decl2arg2func_map::iterator end = decl2arg2funcs.end();
for (; it != end; ++it) {
func_decl * f = it->m_key;
arg2func * map = it->m_value;
for (auto const& kv : decl2arg2funcs) {
func_decl * f = kv.m_key;
arg2func * map = kv.m_value;
expr * def = 0;
SASSERT(decl2args.contains(f));
bit_vector & bv = decl2args.find(f);
@ -438,9 +434,9 @@ struct reduce_args_tactic::imp {
}
}
SASSERT(def);
e_mc->insert(f, def);
f_mc->add(f, def);
}
return concat(f_mc, e_mc);
return f_mc;
}
void operator()(goal & g, model_converter_ref & mc) {

View file

@ -18,7 +18,7 @@ Revision History:
--*/
#include "tactic/tactical.h"
#include "ast/rewriter/expr_replacer.h"
#include "tactic/extension_model_converter.h"
#include "tactic/generic_model_converter.h"
#include "ast/occurs.h"
#include "util/cooperate.h"
#include "tactic/goal_shared_occs.h"
@ -26,7 +26,7 @@ Revision History:
class solve_eqs_tactic : public tactic {
struct imp {
typedef extension_model_converter gmc;
typedef generic_model_converter gmc;
ast_manager & m_manager;
expr_replacer * m_r;
@ -509,10 +509,8 @@ class solve_eqs_tactic : public tactic {
expr_ref new_def(m());
proof_ref new_pr(m());
expr_dependency_ref new_dep(m());
unsigned size = m_ordered_vars.size();
for (unsigned idx = 0; idx < size; idx++) {
for (app * v : m_ordered_vars) {
checkpoint();
expr * v = m_ordered_vars[idx];
expr * def = 0;
proof * pr = 0;
expr_dependency * dep = 0;
@ -609,16 +607,13 @@ class solve_eqs_tactic : public tactic {
if (m_produce_models) {
if (mc.get() == 0)
mc = alloc(gmc, m());
ptr_vector<app>::iterator it = m_ordered_vars.begin();
ptr_vector<app>::iterator end = m_ordered_vars.end();
for (; it != end; ++it) {
app * v = *it;
for (app * v : m_ordered_vars) {
expr * def = 0;
proof * pr;
expr_dependency * dep;
m_norm_subst->find(v, def, pr, dep);
SASSERT(def != 0);
static_cast<gmc*>(mc.get())->insert(v->get_decl(), def);
static_cast<gmc*>(mc.get())->add(v, def);
}
}
}