mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
add DDNF based engine
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
8822bc1755
commit
b596828d23
11 changed files with 761 additions and 11 deletions
|
@ -71,7 +71,7 @@ namespace sat {
|
|||
literal lit = core.back();
|
||||
core.pop_back();
|
||||
unsigned sz = mus.size();
|
||||
// mus.push_back(~lit); // TBD: measure
|
||||
mus.push_back(~lit); // TBD: measure
|
||||
mus.append(core);
|
||||
lbool is_sat = s.check(mus.size(), mus.c_ptr());
|
||||
TRACE("sat", tout << "mus: " << mus << "\n";);
|
||||
|
@ -102,6 +102,7 @@ namespace sat {
|
|||
core.push_back(lit);
|
||||
}
|
||||
}
|
||||
IF_VERBOSE(2, verbose_stream() << "reduced core: " << core.size() << "\n";);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -902,6 +902,11 @@ namespace sat {
|
|||
m_assumption_set.reset();
|
||||
push();
|
||||
|
||||
propagate(false);
|
||||
if (inconsistent()) {
|
||||
return;
|
||||
}
|
||||
|
||||
TRACE("sat",
|
||||
for (unsigned i = 0; i < num_lits; ++i)
|
||||
tout << lits[i] << " ";
|
||||
|
@ -916,15 +921,17 @@ namespace sat {
|
|||
m_assumption_set.insert(_l_); \
|
||||
m_assumptions.push_back(_l_); \
|
||||
assign(_l_, justification()); \
|
||||
// propagate(false); \
|
||||
|
||||
for (unsigned i = 0; !inconsistent() && i < m_user_scope_literals.size(); ++i) {
|
||||
literal nlit = ~m_user_scope_literals[i];
|
||||
_INSERT_LIT(nlit);
|
||||
}
|
||||
|
||||
for (unsigned i = 0; !inconsistent() && i < num_lits; ++i) {
|
||||
literal lit = lits[i];
|
||||
_INSERT_LIT(lit);
|
||||
}
|
||||
for (unsigned i = 0; !inconsistent() && i < m_user_scope_literals.size(); ++i) {
|
||||
literal nlit = ~m_user_scope_literals[i];
|
||||
_INSERT_LIT(nlit);
|
||||
}
|
||||
}
|
||||
|
||||
void solver::reinit_assumptions() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue