TAOCP 7.2.2.2 Exercise 152
We correct both parts from first principles, using the actual meaning of step $X3$ in Knuth’s procedure: “participants” are variables that occur in the current reduced clause set, and “forced” means d...
Section 7.2.2.2: Satisfiability
Exercise 152. [22] [22] Give an instance of 3SAT for which no free "participants" are found in step X3, yet all clauses are satisfied. Also describe an instance with no forced satisfaction.
Verified: yes
Solve time: 3m30s
We correct both parts from first principles, using the actual meaning of step $X3$ in Knuth’s procedure: “participants” are variables that occur in the current reduced clause set, and “forced” means determined by unit propagation (and the induced implication closure). “Free” therefore means not yet forced at that stage.
Thus:
- “No free participants in $X3$” means every variable that appears is already forced by propagation from the current clause structure.
- “No forced satisfaction” means no variable is forced at all at that stage (no unit consequences, hence no propagation-driven assignments).
1. Satisfiable 3SAT instance with no free participants in $X3$
We construct a formula in which unit propagation forces all variables, yet the final assignment satisfies all clauses.
Let the variables be $x_1,x_2,x_3$, and consider the 3SAT formula (repetition allowed):
$$ F = { (x_1 \vee x_1 \vee x_1), (\neg x_1 \vee x_2 \vee x_2), (\neg x_2 \vee x_3 \vee x_3), (\neg x_3 \vee x_1 \vee x_1) }. $$
Step $X3$: forced propagation
Start from the unit clause:
- $(x_1 \vee x_1 \vee x_1)$ forces $x_1 = 1$.
Substitute $x_1=1$:
- $(\neg x_1 \vee x_2 \vee x_2)$ becomes $(0 \vee x_2 \vee x_2)$, hence forces $x_2 = 1$.
Substitute $x_2=1$:
- $(\neg x_2 \vee x_3 \vee x_3)$ becomes $(0 \vee x_3 \vee x_3)$, hence forces $x_3 = 1$.
Substitute $x_3=1$:
- $(\neg x_3 \vee x_1 \vee x_1)$ is already satisfied.
Thus all variables are determined by propagation alone.
Conclusion for $X3$
Every participant variable $x_1,x_2,x_3$ is forced. Hence there are no free participants in step $X3$.
Satisfiability
The assignment
$$ x_1=x_2=x_3=1 $$
satisfies all clauses, so the instance is satisfiable.
2. Satisfiable 3SAT instance with no forced satisfaction in $X3$
We now construct a satisfiable instance where $X3$ triggers no unit propagation and forces no variable assignments.
Let
$$ G = { (x_1 \vee x_2 \vee x_3), (\neg x_1 \vee x_2 \vee x_3), (x_1 \vee \neg x_2 \vee x_3), (x_1 \vee x_2 \vee \neg x_3) }. $$
Analysis of step $X3$
- No clause is a unit clause.
- No clause becomes unit under empty initialization.
- Every clause contains at least two satisfying literals under any single-variable inspection, so no deterministic assignment is triggered by unit propagation.
- Therefore, $X3$ produces no forced assignments.
Although the implication graph formally contains potential implications, none are activated because no unit clauses exist to initiate propagation.
Hence there is no forced satisfaction at step $X3$.
Satisfiability
Take:
$$ x_2 = 1,\quad x_3 = 1,\quad x_1 \text{ arbitrary}. $$
Then every clause contains either $x_2$ or $x_3$, so all clauses are satisfied. Thus the instance is satisfiable.
Final conclusions
- First formula: unit propagation forces all variables, so $X3$ has no free participants, yet the instance is satisfiable.
- Second formula: no unit propagation occurs at all, so $X3$ has no forced satisfaction, yet the instance is satisfiable.