mirror of
https://github.com/Z3Prover/z3
synced 2025-05-17 12:44:45 +00:00
updates to model generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
c80f34102f
commit
1c2966f8e9
6 changed files with 21 additions and 22 deletions
|
@ -28,6 +28,13 @@ Notes:
|
|||
#include "model/model_evaluator.h"
|
||||
|
||||
|
||||
void generic_model_converter::add(func_decl * d, expr* e) {
|
||||
struct entry et(d, e, m, ADD);
|
||||
VERIFY(d->get_range() == m.get_sort(e));
|
||||
m_first_idx.insert_if_not_there(et.m_f, m_add_entries.size());
|
||||
m_add_entries.push_back(et);
|
||||
}
|
||||
|
||||
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()));
|
||||
|
|
|
@ -47,11 +47,7 @@ public:
|
|||
|
||||
void hide(func_decl * f) { m_hide_entries.push_back(entry(f, 0, m, HIDE)); }
|
||||
|
||||
void add(func_decl * d, expr* e) {
|
||||
struct entry et(d, e, m, ADD);
|
||||
m_first_idx.insert_if_not_there(et.m_f, m_add_entries.size());
|
||||
m_add_entries.push_back(et);
|
||||
}
|
||||
void add(func_decl * d, expr* e);
|
||||
|
||||
void add(expr * d, expr* e) { SASSERT(is_app(d) && to_app(d)->get_num_args() == 0); add(to_app(d)->get_decl(), e); }
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ Notes:
|
|||
*/
|
||||
void model_converter::display_add(std::ostream& out, ast_manager& m, func_decl* f, expr* e) const {
|
||||
VERIFY(m_env);
|
||||
VERIFY(f->get_range() == m.get_sort(e));
|
||||
ast_smt2_pp(out, f, e, *m_env, params_ref(), 0, "model-add") << "\n";
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue