mirror of
https://github.com/Z3Prover/z3
synced 2025-10-10 09:48:05 +00:00
first eufi example running
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
2288931b46
commit
74621e0b7d
26 changed files with 80 additions and 105 deletions
|
@ -215,10 +215,11 @@ void iuc_solver::reset_statistics ()
|
|||
m_learn_core_sw.reset();
|
||||
}
|
||||
|
||||
void iuc_solver::get_unsat_core (ptr_vector<expr> &core)
|
||||
void iuc_solver::get_unsat_core (expr_ref_vector &core)
|
||||
{
|
||||
m_solver.get_unsat_core (core);
|
||||
undo_proxies_in_core (core);
|
||||
ptr_vector<expr> _core(core.size(), core.c_ptr());
|
||||
undo_proxies_in_core (_core);
|
||||
}
|
||||
void iuc_solver::undo_proxies_in_core (ptr_vector<expr> &r)
|
||||
{
|
||||
|
@ -258,13 +259,6 @@ void iuc_solver::undo_proxies (expr_ref_vector &r)
|
|||
}
|
||||
}
|
||||
|
||||
void iuc_solver::get_unsat_core (expr_ref_vector &_core)
|
||||
{
|
||||
ptr_vector<expr> core;
|
||||
get_unsat_core (core);
|
||||
_core.append (core.size (), core.c_ptr ());
|
||||
}
|
||||
|
||||
void iuc_solver::elim_proxies (expr_ref_vector &v)
|
||||
{
|
||||
expr_ref f = mk_and (v);
|
||||
|
|
|
@ -92,7 +92,6 @@ public:
|
|||
~iuc_solver() override {}
|
||||
|
||||
/* iuc solver specific */
|
||||
void get_unsat_core(expr_ref_vector &core) override;
|
||||
virtual void get_iuc(expr_ref_vector &core);
|
||||
void set_split_literals(bool v) { m_split_literals = v; }
|
||||
bool mk_proxies(expr_ref_vector &v, unsigned from = 0);
|
||||
|
@ -102,7 +101,11 @@ public:
|
|||
void pop_bg(unsigned n);
|
||||
unsigned get_num_bg();
|
||||
|
||||
void get_full_unsat_core(ptr_vector<expr> &core) { m_solver.get_unsat_core(core); }
|
||||
void get_full_unsat_core(ptr_vector<expr> &core) {
|
||||
expr_ref_vector _core(m);
|
||||
m_solver.get_unsat_core(_core);
|
||||
core.append(_core.size(), _core.c_ptr());
|
||||
}
|
||||
|
||||
/* solver interface */
|
||||
|
||||
|
@ -142,7 +145,7 @@ public:
|
|||
void collect_statistics(statistics &st) const override ;
|
||||
virtual void reset_statistics();
|
||||
|
||||
void get_unsat_core(ptr_vector<expr> &r) override;
|
||||
void get_unsat_core(expr_ref_vector &r) override;
|
||||
void get_model_core(model_ref &m) override {m_solver.get_model(m);}
|
||||
proof *get_proof() override {return m_solver.get_proof();}
|
||||
std::string reason_unknown() const override { return m_solver.reason_unknown(); }
|
||||
|
|
|
@ -245,7 +245,7 @@ lbool prop_solver::maxsmt(expr_ref_vector &hard, expr_ref_vector &soft,
|
|||
soft.reset();
|
||||
|
||||
expr_ref saved(m);
|
||||
ptr_vector<expr> core;
|
||||
expr_ref_vector core(m);
|
||||
m_ctx->get_unsat_core(core);
|
||||
|
||||
// while there are soft constraints
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue