3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

adding incremental cubing from API

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-09-28 09:06:17 -07:00
parent 260c27d58a
commit e507a6ccd1
18 changed files with 194 additions and 9 deletions

View file

@ -284,6 +284,10 @@ public:
return m_solver1->lookahead(assumptions, candidates);
}
virtual expr_ref cube() {
return m_solver1->cube();
}
virtual expr * get_assumption(unsigned idx) const {
unsigned c1 = m_solver1->get_num_assumptions();
if (idx < c1) return m_solver1->get_assumption(idx);

View file

@ -184,6 +184,12 @@ public:
virtual expr_ref lookahead(expr_ref_vector const& assumptions, expr_ref_vector const& candidates) = 0;
/**
\brief extract a lookahead candidates for branching.
*/
virtual expr_ref cube() = 0;
/**
\brief extract learned lemmas.
*/

View file

@ -79,9 +79,13 @@ public:
virtual expr_ref lookahead(expr_ref_vector const& assumptions, expr_ref_vector const& candidates) {
ast_manager& m = get_manager();
std::cout << "tactic2solver\n";
return expr_ref(m.mk_true(), m);
}
virtual expr_ref cube() {
ast_manager& m = get_manager();
return expr_ref(m.mk_true(), m);
}
};
ast_manager& tactic2solver::get_manager() const { return m_assertions.get_manager(); }