3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

add hiding to auxiliary declarations created in mc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-03-06 18:02:37 -08:00
parent 19b1248e5e
commit f04e805fa4
8 changed files with 20 additions and 11 deletions

View file

@ -28,9 +28,12 @@ Notes:
#include "model/model_evaluator.h"
generic_model_converter::~generic_model_converter() {
}
void generic_model_converter::add(func_decl * d, expr* e) {
VERIFY(e);
struct entry et(d, e, m, ADD);
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_entries.size());
m_entries.push_back(et);
@ -169,7 +172,7 @@ void generic_model_converter::operator()(expr_ref& fml) {
}
unsigned j = min_idx;
for (unsigned i = min_idx; i < m_entries.size(); ++i) {
entry const& e = m_entries[i];
entry& e = m_entries[i];
if (e.m_instruction == instruction::HIDE) {
if (i != j) {
m_entries[j] = e;

View file

@ -48,7 +48,7 @@ class generic_model_converter : public model_converter {
public:
generic_model_converter(ast_manager & m, char const* orig) : m(m), m_orig(orig) {}
virtual ~generic_model_converter() { }
virtual ~generic_model_converter();
void hide(expr* e) { SASSERT(is_app(e) && to_app(e)->get_num_args() == 0); hide(to_app(e)->get_decl()); }

View file

@ -24,7 +24,7 @@ Notes:
* Add or overwrite value in model.
*/
void model_converter::display_add(std::ostream& out, ast_manager& m, func_decl* f, expr* e) const {
VERIFY(e);
VERIFY(e);
smt2_pp_environment_dbg env(m);
smt2_pp_environment* _env = m_env ? m_env : &env;
VERIFY(f->get_range() == m.get_sort(e));