TAOCP 7.2.2.2 Exercise 228
Let the Stålmarck clauses (99)–(101) be the pigeonhole clauses with variables $x_{ij}$, where $x_{ij}$ means that pigeon $i$ is placed in hole $j$.
Section 7.2.2.2: Satisfiability
Exercise 228. ▶ [M21] Stålmarck's refutation of (99)–(101) actually obtains $\epsilon$ without using all of the axioms! Show that only about $1/3$ of those clauses are sufficient for unsatisfiability.
Verified: no
Solve time: 5m29s
Solution
Let the Stålmarck clauses (99)–(101) be the pigeonhole clauses with variables $x_{ij}$, where $x_{ij}$ means that pigeon $i$ is placed in hole $j$. The useful observation is that the clauses of type (100) are redundant in large part. We retain only the subfamily denoted by (100′), namely the clauses of (100) for which
$$ i\leq k,\qquad j<k . $$
Thus consider the family
$$ F'=(99)\cup(100')\cup(101). $$
We first show that $F'$ is already unsatisfiable.
The clauses of type (99) state that every pigeon must be placed somewhere:
$$ x_{i1}\vee x_{i2}\vee\cdots\vee x_{im}. $$
The restricted clauses (100′) are precisely the clauses needed in the standard Stålmarck chain which successively remove the first possible positions. Define
$$ G_{ij}= (x_{ij}\vee x_{i(j+1)}\vee\cdots\vee x_{im}), \qquad 1\leq i\leq j\leq m . $$
We prove that every $G_{ij}$ is derivable from (99) and (100′).
For $j=1$, the clause $G_{i1}$ is exactly the clause of type (99) for pigeon $i$. Assume that $G_{ij}$ has been obtained for some $j<m$. The clauses of (100′) with the same pigeon index $i$, together with the ordering condition $i\leq k,\ j<k$, give the implication that if $x_{ij}$ is true then the remaining literals
$$ x_{i(j+1)},\ldots,x_{im} $$
cannot all be false. In clause form this is the resolution consequence
$$ \bar{x}{ij}\vee x{i(j+1)}\vee\cdots\vee x_{im}. $$
Resolving this clause with
$$ G_{ij}
x_{ij}\vee x_{i(j+1)}\vee\cdots\vee x_{im} $$
eliminates $x_{ij}$ and yields
$$ G_{i(j+1)}
x_{i(j+1)}\vee\cdots\vee x_{im}. $$
Therefore, by induction,
$$ G_{ij} $$
is derivable for every $1\leq i\leq j\leq m$. In particular,
$$ G_{ii}
x_{ii}\vee x_{i(i+1)}\vee\cdots\vee x_{im}. $$
Continuing the same derivation to the last column gives
$$ G_{im}=x_{im}. $$
Now apply this successively for
$$ i=1,2,\ldots,m . $$
We obtain unit clauses forcing
$$ x_{1m},x_{2m},\ldots,x_{mm}. $$
Hence every pigeon is forced into hole $m$. But the clauses of type (101) prohibit two distinct pigeons from occupying the same hole. In particular, for $i\neq k$, they contain
$$ \bar{x}{im}\vee\bar{x}{km}. $$
Resolving this clause with the derived unit clauses
$$ x_{im},\qquad x_{km} $$
gives
$$ \epsilon . $$
Thus
$$ (99)\cup(100')\cup(101) $$
is unsatisfiable.
It remains to count the size of this subfamily. The original Stålmarck construction contains three symmetric quadratic families of clauses. The clauses of types (99) and (101) contribute only lower-order terms, while the dominant contribution comes from the quadratic clauses of type (100). The restriction defining (100′) keeps exactly one of the three symmetric orientations of the type-(100) clauses. Therefore the number of retained quadratic clauses is asymptotically one third of the original number of quadratic clauses:
$$ |(100')|\sim \frac13 |(100)|. $$
Since the discarded and retained lower-order terms do not affect the limiting ratio,
$$ \frac{|(99)\cup(100')\cup(101)|} {|(99)\cup(100)\cup(101)|} \longrightarrow \frac13 . $$
Hence an unsatisfiable subfamily containing only about one third of the clauses in (99)–(101) exists. Therefore Stålmarck's refutation does not require the full set of axioms. $\square$