Updating fringe and conflicts
fringe and conflicts updated when a proposition’s label changes
- only clauses in which the proposition occurs can update fringe or conflicts
Membership in fringe and conflicts determined incrementally
- track the count of literals in the clause labeled unknown
- decrement (increment) the count when an unknown (true or false) literal becomes true or false (unknown)
- track whether the clause is satisfied (i.e., contains a literal labeled true)
A clause is added to (removed from) the fringe if the unknown literal count becomes (changes from) 1 and it is not (or it is) satisfied
A clause is added to (removed from) the conflicts if the unknown literal count becomes (changes from) 0 and it is not (or it is) satisfied