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:
parent
0d15b6abb7
commit
dc0b2a8acf
23 changed files with 69 additions and 151 deletions
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue