mirror of
https://github.com/Z3Prover/z3
synced 2025-08-05 10:50:24 +00:00
fixes to mostly solver arith/euf and backtracking scopes
This commit is contained in:
parent
1ee2ba2a9b
commit
8d76470a8a
25 changed files with 189 additions and 93 deletions
|
@ -606,8 +606,6 @@ struct goal2sat::imp : public sat::sat_internalizer {
|
|||
if (!ext) {
|
||||
euf = alloc(euf::solver, m, *this);
|
||||
m_solver.set_extension(euf);
|
||||
for (unsigned i = m_solver.num_scopes(); i-- > 0; )
|
||||
euf->push();
|
||||
#if 0
|
||||
std::function<solver*(void)> mk_solver = [&]() {
|
||||
return mk_inc_sat_solver(m, m_params, true);
|
||||
|
@ -911,6 +909,14 @@ struct goal2sat::imp : public sat::sat_internalizer {
|
|||
ext->update_model(mdl);
|
||||
}
|
||||
|
||||
void user_push() {
|
||||
|
||||
}
|
||||
|
||||
void user_pop(unsigned n) {
|
||||
m_true = sat::null_literal;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
struct unsupported_bool_proc {
|
||||
|
@ -984,6 +990,16 @@ void goal2sat::update_model(model_ref& mdl) {
|
|||
m_imp->update_model(mdl);
|
||||
}
|
||||
|
||||
void goal2sat::user_push() {
|
||||
if (m_imp)
|
||||
m_imp->user_push();
|
||||
}
|
||||
|
||||
void goal2sat::user_pop(unsigned n) {
|
||||
if (m_imp)
|
||||
m_imp->user_pop(n);
|
||||
}
|
||||
|
||||
|
||||
sat::sat_internalizer& goal2sat::si(ast_manager& m, params_ref const& p, sat::solver_core& t, atom2bool_var& a2b, dep2asm_map& dep2asm, bool default_external) {
|
||||
if (!m_imp)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue