Unit propagation: the basic idea
Let C be the clause l1 ? l2 ?…? ln
- C can be viewed as the implication ¬l1 ? ¬l2 ??… ??¬ln-1 ? ln
Suppose literals l1, l2, …, ln-1 are labeled false and ln is labeled unknown
- antecedent of the above implication version of clause C is true
- hence, clause C implies that the consequent (ln) must be true
- ln’s label must be changed from unknown to true
Example
- consider clause ¬p ??¬q ? r with labels p: true, q: unknown, r: false
- unit propagation changes q’s label to false