3.5 Trivial Resolution and Learned Clauses

Definition 8   A resolution derivation (C1, C2,..., Ck) is trivial iff all variables resolved upon are distinct and each Ci, i$ \ge$3, is either an initial clause or is derived by resolving Ci-1 with an initial clause.

A trivial derivation is tree-like, regular, linear, as well as ordered. As the following Propositions show, trivial derivations correspond to conflicts in clause learning algorithms.

Proposition 3   Let F be a CNF formula. If there is a trivial resolution derivation of a clause C $ \notin$F from F then setting all literals of C to FALSE leads to a conflict by unit propagation.

Proof. Let $ \pi$ = (C1, C2,..., Ck $ \equiv$ C) be a trivial resolution derivation of C from F. Let Ck = (l1 $ \vee$ l2 $ \vee$...$ \vee$ lq) and $ \rho$ be the partial assignment that sets all li, 1$ \le$i$ \le$q, to FALSE. Assume without loss of generality that clauses in $ \pi$ are ordered so that all initial clauses precede any derived clause. We give a proof by induction on the number of derived clauses in $ \pi$.

For the base case, $ \pi$ has only one derived clause, C $ \equiv$ Ck, Assume without loss of generality that Ck = (A $ \vee$ B) and Ck is derived by resolving two initial clauses (A $ \vee$ x) and (B $ \vee$ $ \neg$x) on variable x. Since $ \rho$ falsifies Ck, it falsifies all literals of A, implying x = TRUE by unit propagation. Similarly, $ \rho$ falsifies B, implying x = FALSE and resulting in a conflict.

When $ \pi$ has at least two derived clauses, Ck, by triviality of $ \pi$, must be derived by resolving Ck-1 $ \notin$F with a clause in F. Assume without loss of generality that Ck-1 $ \equiv$ (A $ \vee$ x) and the clause from F used in this resolution step is (B $ \vee$ $ \neg$x), where Ck = (A $ \vee$ B). Since $ \rho$ falsifies C $ \equiv$ Ck, it falsifies all literals of B, implying x = FALSE by unit propagation. This in turn results in falsifying all literals of Ck-1 because all literals of A are also set to FALSE by $ \rho$. Now (C1,..., Ck-1) is a trivial resolution derivation of Ck-1 $ \notin$F from F with one less derived clause than $ \pi$, and all literals of Ck-1 are falsified. By induction, this must lead to a conflict by unit propagation.$ \Box$

Proposition 4   Any conflict clause can be derived from initial and previously derived clauses using a trivial resolution derivation.

Proof. Let $ \sigma$ be the cut in a fixed conflict graph associated with the given conflict clause. Let Vconflict($ \sigma$) denote the set of variables on the conflict side of $ \sigma$, but including the conflict variable only if it occurs both positively and negatively on the conflict side. We will prove by induction on | Vconflict($ \sigma$)| the stronger statement that the conflict clause associated with a cut $ \sigma$ has a trivial derivation from known (i.e. initial or previously derived) clauses resolving precisely on the variables in Vconflict($ \sigma$).

For the base case, Vconflict($ \sigma$) = $ \phi$ and the conflict side contains only $ \Lambda$ and a conflict literal, say x. The cause associated with this cut consists of node $ \neg$x that has an edge to $ \Lambda$, and nodes $ \neg$l1,$ \neg$l2,...,$ \neg$lk, corresponding to a known clause Cx = (l1 $ \vee$ l2 $ \vee$...$ \vee$ lk $ \vee$ x), that each have an edge to x. The conflict clause for this cut is simply the known clause Cx itself, having a length zero trivial derivation.

Figure 3: Deriving a conflict clause using trivial resolution. Resolving C' with Cy on variable y gives the conflict clause C.
Image derivingconflictclause

When Vconflict($ \sigma$)$ \ne$$ \phi$, pick a node y on the conflict side all whose predecessors are on the reason side (see Figure. 3). Let the conflict clause be C = (l1 $ \vee$ l2 $ \vee$...$ \vee$ lp) and assume without loss of generality that the predecessors of y are $ \neg$l1,$ \neg$l2,...,$ \neg$lk for some k$ \le$p. By definition of unit propagation, Cy = (l1 $ \vee$ l2 $ \vee$...$ \vee$ lk $ \vee$ y) must be a known clause. Obtain a new cut $ \sigma{^\prime}$ from $ \sigma$ by moving node y from the conflict side to the reason side. The new associated conflict clause must be of the form C' = ($ \neg$y $ \vee$ D), where D is a subclause of C. Now Vconflict($ \sigma{^\prime}$) $ \subset$ Vconflict($ \sigma$). Consequently, by induction, C' must have a trivial resolution derivation from known clauses resolving precisely upon the variables in Vconflict($ \sigma{^\prime}$). Recall that no variable occurs twice in a conflict graph except the conflict variable. Hence Vconflict($ \sigma{^\prime}$) has exactly all variables of Vconflict($ \sigma$) other than y. Using this trivial derivation of C' and finally resolving C' with the known clause Cy on variable y gives us a trivial derivation of C from known clauses. This completes the inductive step.$ \Box$


Journal of Artificial Intelligence Research 22 (2004). Copyright AI Access Foundation. All rights reserved.