3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-11 02:08:07 +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

@ -63,6 +63,7 @@ namespace sat {
m_next_simplify = 0;
m_num_checkpoints = 0;
m_simplifications = 0;
m_cuber = nullptr;
}
solver::~solver() {
@ -836,6 +837,19 @@ namespace sat {
return lh.select_lookahead(assumptions, vars);
}
lbool solver::cube(literal_vector& lits) {
if (!m_cuber) {
m_cuber = alloc(lookahead, *this);
}
lbool result = m_cuber->cube(lits);
if (result == l_false) {
dealloc(m_cuber);
m_cuber = nullptr;
}
return result;
}
// -----------------------
//
// Search