mirror of
https://github.com/Z3Prover/z3
synced 2025-07-31 16:33:18 +00:00
fix bugs related to model-converter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ae728374c8
commit
7b8101c502
20 changed files with 211 additions and 112 deletions
|
@ -81,10 +81,9 @@ public:
|
|||
for (func_decl* f : m_bv_fns) result->m_bv_fns.push_back(tr(f));
|
||||
for (func_decl* f : m_int_fns) result->m_int_fns.push_back(tr(f));
|
||||
for (bound_manager* b : m_bounds) result->m_bounds.push_back(b->translate(dst_m));
|
||||
model_converter_ref mc = concat(mc0(), m_solver->get_model_converter().get());
|
||||
if (mc) {
|
||||
if (mc0()) {
|
||||
ast_translation tr(m, dst_m);
|
||||
result->set_model_converter(mc->translate(tr));
|
||||
result->set_model_converter(mc0()->translate(tr));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -50,10 +50,9 @@ public:
|
|||
|
||||
virtual solver* translate(ast_manager& dst_m, params_ref const& p) {
|
||||
solver* result = alloc(enum2bv_solver, dst_m, p, m_solver->translate(dst_m, p));
|
||||
model_converter_ref mc = concat(mc0(), m_solver->get_model_converter().get());
|
||||
if (mc) {
|
||||
if (mc0()) {
|
||||
ast_translation tr(m, dst_m);
|
||||
result->set_model_converter(mc->translate(tr));
|
||||
result->set_model_converter(mc0()->translate(tr));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -16,14 +16,14 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
#include "tactic/portfolio/pb2bv_solver.h"
|
||||
#include "solver/solver_na2as.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "ast/rewriter/pb2bv_rewriter.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
#include "tactic/generic_model_converter.h"
|
||||
#include "ast/ast_pp.h"
|
||||
#include "model/model_smt2_pp.h"
|
||||
#include "tactic/portfolio/pb2bv_solver.h"
|
||||
#include "tactic/tactic.h"
|
||||
#include "tactic/generic_model_converter.h"
|
||||
#include "solver/solver_na2as.h"
|
||||
#include "ast/rewriter/pb2bv_rewriter.h"
|
||||
#include "ast/rewriter/th_rewriter.h"
|
||||
|
||||
class pb2bv_solver : public solver_na2as {
|
||||
ast_manager& m;
|
||||
|
@ -50,10 +50,9 @@ public:
|
|||
virtual solver* translate(ast_manager& dst_m, params_ref const& p) {
|
||||
flush_assertions();
|
||||
solver* result = alloc(pb2bv_solver, dst_m, p, m_solver->translate(dst_m, p));
|
||||
model_converter_ref mc = mc0();
|
||||
if (mc) {
|
||||
if (mc0()) {
|
||||
ast_translation tr(m, dst_m);
|
||||
result->set_model_converter(mc->translate(tr));
|
||||
result->set_model_converter(mc0()->translate(tr));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue