3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

fix push/pop bug for ite-elimination, thanks to Nao Hirokawa for reporting it

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-08-30 08:31:37 -03:00
parent de43e05102
commit 4c0db00a7b
4 changed files with 13 additions and 3 deletions

View file

@ -17,6 +17,7 @@ Revision History:
--*/
#include "model/model_core.h"
#include "ast/ast_pp.h"
model_core::~model_core() {
for (auto & kv : m_interp) {
@ -47,7 +48,9 @@ bool model_core::eval(func_decl* f, expr_ref & r) const {
void model_core::register_decl(func_decl * d, expr * v) {
SASSERT(d->get_arity() == 0);
TRACE("model", tout << "register " << d->get_name() << "\n";);
TRACE("model", tout << "register " << d->get_name() << "\n";
if (v) tout << mk_pp(v, m) << "\n";
);
decl2expr::obj_map_entry * entry = m_interp.insert_if_not_there2(d, nullptr);
if (entry->get_data().m_value == nullptr) {
// new entry