Haken's resolution lower bound for the pigeonhole principle #
Haken proved that resolution refutations of the pigeonhole formula PHP^{n+1}_n
(Cslib.Logic.PL.CNF.pigeonhole (n + 1) n) have exponential size. This file follows the
simplified proof of Beame and Pitassi (see also [Jukna, Section 18.6]
[Juk12]), replacing random restrictions by a greedy choice of one pigeon–hole pair at a time.
Let P ⊆ Fin m and H ⊆ Fin n be sets of remaining pigeons and holes with #P = #H + 1, and let
pigeonholeOn P H be the pigeonhole formula restricted to P and H.
Critical assignments and the width of the monotone translation. A critical assignment (
Cslib.Logic.PL.Pigeonhole.IsCrit) is an injectiong : H → P; its truth assignment (Cslib.Logic.PL.Pigeonhole.critAssign) placesg jin holejfor eachj ∈ Hand leaves a single pigeoni₀ ∈ P \ H.image goutside all holes. LetfalsifiedPigeons P H cbe the set of pigeonsi₀ ∈ Pthat are left out by some critical assignment falsifyingc. Each clause ofpigeonholeOn P Hhas#(falsifiedPigeons P H c) ≤ 1, resolution steps are subadditive, and the empty clause hasfalsifiedPigeons P H [] = P, so every refutation contains a linecwith#P ≤ 3 #(falsifiedPigeons P H c) ≤ 2 #P(for#H ≥ 1), giving2 (#H)² ≤ 9 #(falsifiedPigeons P H c) (#P - #(falsifiedPigeons P H c)).For
i₀ ∈ falsifiedPigeons P H c(witnessed byg) andj ∈ Hwithg j ∈ P \ falsifiedPigeons P H c, updatinggatjtoi₀gives a critical assignment with missing pigeong j, which must satisfyc. Any literal ofcthat flips fromfalsetotrueunder this swap lies in columnjand is satisfied by the partial assignmentmatchPair i₀ jthat matchesi₀toj. Thus(i₀, j)belongs tosatPairs P H c, the set of pairs inP ×ˢ Hwhose matching assignment satisfiesc, so#(falsifiedPigeons P H c) (#P - #(falsifiedPigeons P H c)) ≤ #(satPairs P H c)and every refutation ofpigeonholeOn P Hcontains a line with2 (#H)² ≤ 9 #(satPairs P H c)(Cslib.Logic.PL.Pigeonhole.exists_le_card_satPairs).Eliminating wide lines by matching one pair at a time. Restricting a proof from
pigeonholeOn P HbymatchPair i₀ j₀(Cslib.Logic.PL.CNF.IsProof.restrictBy) yields a proof frompigeonholeOn (P.erase i₀) (H.erase j₀)whose lines are subclauses of a sublist of the lines not satisfied bymatchPair i₀ j₀. SincesatPairsis monotone inP,H, and the clause, choosing(i₀, j₀) ∈ P ×ˢ Hby averaging reduces the numberfof lines withd ≤ #(satPairs P H c)tof'withC f' ≤ (C - 1) fwhenever#P · #H ≤ C d. Aftert = n / 3steps fromPHP^{n+1}_nwithd = 2 (n - n / 3)² / 9andC = 12(forn ≥ 8), a line withd ≤ #(satPairs P_t H_t c)still remains, so12 ^ (n / 3) ≤ 11 ^ (n / 3) · s(Cslib.Logic.PL.CNF.pow_le_mul_of_refutableInSize_pigeonhole) and2 ^ (n / 24) ≤ sfor alln(Cslib.Logic.PL.CNF.two_pow_le_of_refutableInSize_pigeonhole).
Main definitions #
Cslib.Logic.PL.Pigeonhole.pigeonholeOn: the pigeonhole formula on subsetsPandH.Cslib.Logic.PL.Pigeonhole.matchPair: the partial assignment matching a pigeon to a hole.Cslib.Logic.PL.Pigeonhole.satPairs: the pairs inP ×ˢ Hwhose matching assignment satisfies a clause (its monotone translation).Cslib.Logic.PL.Pigeonhole.IsCrit,Cslib.Logic.PL.Pigeonhole.critAssign,Cslib.Logic.PL.Pigeonhole.falsifiedPigeons: critical assignments and the missing pigeons of critical assignments falsifying a clause.
Main results #
Cslib.Logic.PL.Pigeonhole.exists_le_card_satPairs: every refutation ofpigeonholeOn P H(with#P = #H + 1) has a linecwith2 (#H)² ≤ 9 #(satPairs P H c).Cslib.Logic.PL.CNF.pow_le_mul_of_refutableInSize_pigeonhole: forn ≥ 8, every resolution refutation ofPHP^{n+1}_nofslines satisfies12 ^ (n / 3) ≤ 11 ^ (n / 3) · s.Cslib.Logic.PL.CNF.two_pow_le_of_refutableInSize_pigeonhole,Cslib.Logic.PL.CNF.not_refutableInSize_pigeonhole: Haken's theorem: every resolution refutation ofPHP^{n+1}_nhas at least2 ^ (n / 24)lines.Cslib.Logic.PL.CNF.Derivation.two_pow_le_size_pigeonhole: the same lower bound for tree-like resolution refutations.
References #
Pigeonhole formulas on subsets of pigeons and holes #
The clauses of pigeonholeOn P H are its pigeon clauses and its hole clauses on P and H.
Matching a pigeon to a hole #
Critical assignments and the monotone width bound #
Every refutation of pigeonholeOn P H has a wide monotone line
Beame and Pitassi, Lemma 4 Jukna, Lemma 18.17. When
#P = #H + 1, every resolution refutation of pigeonholeOn P H contains a line c with
2 (#H)² ≤ 9 #(satPairs P H c).
Eliminating wide lines by greedy matching restrictions #
Haken's lower bound for PHP^{n+1}_n #
Every resolution refutation of PHP^{n+1}_n contains a line whose monotone translation has at
least 2 n² / 9 variable pairs Beame and Pitassi, Lemma 4.
Haken's theorem (recurrence form) Haken
Beame and Pitassi, Theorem 2 Jukna, Theorem 18.15. For n ≥ 8,
every resolution refutation of PHP^{n+1}_n of s lines satisfies
12 ^ (n / 3) ≤ 11 ^ (n / 3) · s.
Haken's theorem: every resolution refutation of PHP^{n+1}_n has at least 2 ^ (n / 24)
lines Haken Beame and Pitassi Jukna, Theorem 18.15.
Haken's theorem: PHP^{n+1}_n has no resolution refutation with fewer than 2 ^ (n / 24)
lines Haken Beame and Pitassi.
Tree-like resolution lower bound for PHP^{n+1}_n: every tree-like resolution refutation
of PHP^{n+1}_n has at least 2 ^ (n / 24) nodes.