3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-05 06:45:45 +00:00

merge with master

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-03-25 14:57:01 -07:00
commit c513f3ca09
883 changed files with 13979 additions and 16480 deletions

View file

@ -626,6 +626,9 @@ namespace qe {
SASSERT(validate_assumptions(*m_model.get(), asms));
SASSERT(validate_model(asms));
TRACE("qe", s.display(tout); display(tout << "\n", *m_model.get()); display(tout, asms); );
if (m_level == 0) {
m_model_save = m_model;
}
push();
if (m_level == 1 && m_mode == qsat_maximize) {
maximize_model();
@ -693,7 +696,7 @@ namespace qe {
m_level -= num_scopes;
}
void reset() {
void reset() override {
m_st.reset();
m_fa.s().collect_statistics(m_st);
m_ex.s().collect_statistics(m_st);
@ -703,7 +706,7 @@ namespace qe {
m_asms.reset();
m_pred_abs.reset();
m_vars.reset();
m_model = 0;
m_model = nullptr;
m_fa.reset();
m_ex.reset();
m_free_vars.reset();
@ -951,7 +954,7 @@ namespace qe {
ptr_vector<expr> todo;
trail.push_back(fml);
todo.push_back(fml);
expr* e = 0, *r = 0;
expr* e = nullptr, *r = nullptr;
while (!todo.empty()) {
check_cancel();
@ -1191,27 +1194,27 @@ namespace qe {
m_mode(mode),
m_avars(m),
m_free_vars(m),
m_objective(0),
m_value(0),
m_objective(nullptr),
m_value(nullptr),
m_was_sat(false),
m_gt(m)
{
reset();
}
virtual ~qsat() {
~qsat() override {
reset();
}
void updt_params(params_ref const & p) {
void updt_params(params_ref const & p) override {
}
void collect_param_descrs(param_descrs & r) {
void collect_param_descrs(param_descrs & r) override {
}
void operator()(/* in */ goal_ref const & in,
/* out */ goal_ref_buffer & result) {
/* out */ goal_ref_buffer & result) override {
tactic_report report("qsat-tactic", *in);
ptr_vector<expr> fmls;
expr_ref_vector defs(m);
@ -1282,7 +1285,7 @@ namespace qe {
}
}
void collect_statistics(statistics & st) const {
void collect_statistics(statistics & st) const override {
st.copy(m_st);
m_fa.s().collect_statistics(st);
m_ex.s().collect_statistics(st);
@ -1291,23 +1294,23 @@ namespace qe {
m_pred_abs.collect_statistics(st);
}
void reset_statistics() {
void reset_statistics() override {
m_stats.reset();
m_fa.reset();
m_ex.reset();
}
void cleanup() {
void cleanup() override {
reset();
}
void set_logic(symbol const & l) {
void set_logic(symbol const & l) override {
}
void set_progress_callback(progress_callback * callback) {
void set_progress_callback(progress_callback * callback) override {
}
tactic * translate(ast_manager & m) {
tactic * translate(ast_manager & m) override {
return alloc(qsat, m, m_params, m_mode);
}