mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 17:45:32 +00:00
remove msf example, add option to make model converter not reduce models
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d11e5c8ca6
commit
f3d6856736
29 changed files with 8 additions and 2801 deletions
|
@ -38,7 +38,7 @@ void generic_model_converter::operator()(model_ref & md) {
|
|||
TRACE("model_converter", tout << "before generic_model_converter\n"; model_v2_pp(tout, *md); display(tout););
|
||||
|
||||
model_evaluator ev(*(md.get()));
|
||||
ev.set_model_completion(true);
|
||||
ev.set_model_completion(m_completion);
|
||||
ev.set_expand_array_equalities(false);
|
||||
expr_ref val(m);
|
||||
unsigned arity;
|
||||
|
@ -78,7 +78,7 @@ void generic_model_converter::operator()(model_ref & md) {
|
|||
}
|
||||
if (reset_ev) {
|
||||
ev.reset();
|
||||
ev.set_model_completion(true);
|
||||
ev.set_model_completion(m_completion);
|
||||
ev.set_expand_array_equalities(false);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -64,14 +64,17 @@ class smt2_pp_environment;
|
|||
|
||||
class model_converter : public converter {
|
||||
protected:
|
||||
smt2_pp_environment* m_env;
|
||||
smt2_pp_environment* m_env = nullptr;
|
||||
bool m_completion = true;
|
||||
static void display_add(std::ostream& out, smt2_pp_environment& env, ast_manager& m, func_decl* f, expr* e);
|
||||
void display_add(std::ostream& out, ast_manager& m, func_decl* f, expr* e) const;
|
||||
void display_del(std::ostream& out, func_decl* f) const;
|
||||
void display_add(std::ostream& out, ast_manager& m);
|
||||
public:
|
||||
|
||||
model_converter(): m_env(nullptr) {}
|
||||
model_converter() {}
|
||||
|
||||
void set_completion(bool f) { m_completion = f; }
|
||||
|
||||
virtual void operator()(model_ref & m) = 0;
|
||||
|
||||
|
|
|
@ -529,7 +529,7 @@ namespace smt {
|
|||
// issue #3532, #3529
|
||||
//
|
||||
if (ctx.is_shared(r) || is_select_arg(r)) {
|
||||
TRACE("array", tout << "new shared var: #" << r->get_owner_id() << "\n";);
|
||||
TRACE("array", tout << "new shared var: #" << r->get_owner_id() << " " << is_select_arg(r) << "\n";);
|
||||
theory_var r_th_var = r->get_th_var(get_id());
|
||||
SASSERT(r_th_var != null_theory_var);
|
||||
result.push_back(r_th_var);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue