mirror of
https://github.com/Z3Prover/z3
synced 2025-05-08 08:15:47 +00:00
add shortcuts for unit assertions, conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d73b7267e3
commit
93ee05648e
17 changed files with 55 additions and 94 deletions
|
@ -367,7 +367,7 @@ namespace sat {
|
|||
bool asymm_branch::propagate_literal(clause const& c, literal l) {
|
||||
SASSERT(!s.inconsistent());
|
||||
TRACE("asymm_branch_detail", tout << "assigning: " << l << "\n";);
|
||||
s.assign(l, justification());
|
||||
s.assign_scoped(l);
|
||||
s.propagate_core(false); // must not use propagate(), since check_missed_propagation may fail for c
|
||||
return s.inconsistent();
|
||||
}
|
||||
|
@ -423,11 +423,11 @@ namespace sat {
|
|||
|
||||
switch (new_sz) {
|
||||
case 0:
|
||||
s.set_conflict(justification());
|
||||
s.set_conflict();
|
||||
return false;
|
||||
case 1:
|
||||
TRACE("asymm_branch", tout << "produced unit clause: " << c[0] << "\n";);
|
||||
s.assign(c[0], justification());
|
||||
s.assign_unit(c[0]);
|
||||
s.propagate_core(false);
|
||||
scoped_d.del_clause();
|
||||
return false; // check_missed_propagation() may fail, since m_clauses is not in a consistent state.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue