mirror of
https://github.com/Z3Prover/z3
synced 2025-04-14 21:08:46 +00:00
produce binary clauses for DRAT for units produced by probing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0b84c60886
commit
a686aa7f56
|
@ -483,10 +483,6 @@ namespace sat {
|
|||
literal lit = c[i];
|
||||
if (lit != wc.m_l1 && lit != wc.m_l2 && value(lit) != l_false) {
|
||||
wc.m_l2 = lit;
|
||||
if (m_watches.size() <= (~lit).index())
|
||||
{
|
||||
IF_VERBOSE(0, verbose_stream() << m_watches.size() << " " << lit << " " << (~lit).index() << "\n");
|
||||
}
|
||||
m_watches[(~lit).index()].push_back(idx);
|
||||
done = true;
|
||||
}
|
||||
|
|
|
@ -65,6 +65,10 @@ namespace sat {
|
|||
if (implied_lits) {
|
||||
for (literal lit : *implied_lits) {
|
||||
if (m_assigned.contains(lit)) {
|
||||
if (s.m_config.m_drat) {
|
||||
s.m_drat.add(l, lit, true);
|
||||
s.m_drat.add(~l, lit, true);
|
||||
}
|
||||
s.assign(lit, justification());
|
||||
m_num_assigned++;
|
||||
}
|
||||
|
@ -95,8 +99,12 @@ namespace sat {
|
|||
cache_bins(l, old_tr_sz);
|
||||
s.pop(1);
|
||||
|
||||
for (literal l : m_to_assert) {
|
||||
s.assign(l, justification());
|
||||
for (literal lit : m_to_assert) {
|
||||
if (s.m_config.m_drat) {
|
||||
s.m_drat.add(l, lit, true);
|
||||
s.m_drat.add(~l, lit, true);
|
||||
}
|
||||
s.assign(lit, justification());
|
||||
m_num_assigned++;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue