Ladner's theorem #
If P ≠ NP, some problem in NP is neither in P nor NP-complete Arora and Barak,
Theorem 3.3. The problem is Ladner's language Cslib.Complexity.Ladner.SATH:
satisfiable formulas φ whose encoding has length m, padded with m ^ H m ones, where the
exponent H m is the least index below log₂ (log₂ m) of a machine agreeing with the language on
the words with indices below m (Complexity.Computability.Complexity.Classes.Ladner.Basic). It
is in NP (Cslib.Complexity.Ladner.SATH_mem_NP), because H is polynomial-time
(Complexity.Computability.Complexity.Classes.Ladner.PolyTime). Two holes are blown in SAT:
- If
SATHis inP, a machine deciding it within a polynomial time bound has indices whose clocks exceed that bound, and from some point onHis at most such an index (Cslib.Complexity.Ladner.exists_H_le_of_mem_P). WithHbounded, padding is a polynomial-time reduction fromSATtoSATH, soSATis inP(Cslib.Complexity.Ladner.SAT_mem_P_of_SATH_mem_P). - If
SATHis not inP, thenHtends to infinity: ifHtook a valueiinfinitely often, the machine with indexiwould agree withSATHeverywhere within polynomial time (Cslib.Complexity.Ladner.SATH_mem_P_of_frequently_H_eq). A polynomial-time reduction fromSATtoSATHthen maps every large formula either to a word outsideSATHor to a padded formula strictly shorter than itself, because the padding grows faster than any polynomial. Iterating the reduction as many times as the formula is long leaves a formula of bounded length, decided by a finite table, soSATis inP(Cslib.Complexity.Ladner.SAT_mem_P_of_reducible_of_tendsto).
An NP-complete problem in P gives P = NP for every encoding
(Cslib.Complexity.NPComplete.P_eq_NP_of_mem_P), since P is closed under polynomial-time
reductions (Cslib.Complexity.PolyTimeReducible.mem_P). Since SAT is NP-complete
(Cslib.Complexity.CookLevin.SAT_npComplete), SAT ∈ P gives P = NP
(Cslib.Complexity.Ladner.P_eq_NP_of_SAT_mem_P). The unconditional
forms are Cslib.Complexity.Ladner.P_eq_NP_of_SATH_mem_P and
Cslib.Complexity.Ladner.P_eq_NP_of_NPComplete_SATH; the theorem keeps P ≠ NP as an explicit
hypothesis (Cslib.Complexity.Ladner.exists_NP_not_P_not_NPComplete).
Main definitions #
Cslib.Complexity.Ladner.padBounded: the padding reduction fromSATtoSATHalong a bounded exponent.Cslib.Complexity.Ladner.shrink,Cslib.Complexity.Ladner.selfReduce: the self-reduction ofSATalong a reduction toSATH.Cslib.Complexity.Ladner.smallSAT: the finite table of the short satisfiable formulas.
Main results #
Cslib.Complexity.Ladner.P_eq_NP_of_SAT_mem_P: ifSAT ∈ P, thenP = NPfor every encoding.Cslib.Complexity.Ladner.exists_H_le_of_mem_P: ifSATH ∈ P,His bounded.Cslib.Complexity.Ladner.reducible_of_H_le: ifHis bounded,SATreduces toSATH.Cslib.Complexity.Ladner.SATH_mem_P_of_frequently_H_eq,Cslib.Complexity.Ladner.tendsto_H_of_notMem_P: ifHtakes a value infinitely often,SATH ∈ P; so ifSATH ∉ P,Htends to infinity.Cslib.Complexity.Ladner.SAT_mem_P_of_reducible_of_tendsto: ifSATreduces toSATHandHtends to infinity, thenSAT ∈ P.- Unconditionally,
SATHis inNP(Cslib.Complexity.Ladner.SATH_mem_NP), inPonly ifSATis (Cslib.Complexity.Ladner.SAT_mem_P_of_SATH_mem_P),NP-hard only ifSAT ∈ P(Cslib.Complexity.Ladner.SAT_mem_P_of_NPHard_SATH), and inPorNP-complete only ifP = NP(Cslib.Complexity.Ladner.P_eq_NP_of_SATH_mem_P,Cslib.Complexity.Ladner.P_eq_NP_of_NPComplete_SATH). Cslib.Complexity.Ladner.exists_NP_not_P_not_NPComplete: Ladner's theorem, under the hypothesisP ≠ NP.
References #
A machine deciding Ladner's language bounds the exponent #
A finite binary machine halting within time t x with output [f x], simulated by the
universal function on its description for at least t x steps, halts with output [eBit (f x)].
If SATH is in P, then H is bounded: some index of a machine deciding SATH has a
clock exceeding its polynomial time bound, and from some point on H is at most that index.
The first hole: padding along a bounded exponent #
The padding of φ along H, computed with powers capped at (m + 1) ^ C for the length m
of the encoded formula.
Instances For
If H is bounded, padding reduces SAT to SATH in polynomial time.
If SATH is in P, so is SAT.
A frequent value of the exponent #
If H takes a value infinitely often, SATH is in P, decided by running the machine
with that index within its polynomial clock.
If SATH is not in P, then H tends to infinity.
The second hole: an unbounded exponent #
The unsatisfiable formula with one empty clause.
Instances For
One round of the self-reduction of SAT along a map R into words: a formula shorter than
N is kept, and otherwise replaced by the formula padded along H in R φ, or by falseCNF if
R φ is not such a padded word.
Instances For
The self-reduction: as many rounds as the encoded formula is long.
Instances For
The second hole. If SAT reduces to SATH in polynomial time and H tends to infinity,
then SAT is in P: the self-reduction leaves a formula of bounded length, decided by a finite
table.
If SATH is NP-hard, then SAT is in P: either SATH is in P, and the first hole
applies, or H tends to infinity, and the second hole applies to the reduction of SAT.
Ladner's theorem #
If Ladner's language is NP-complete, then P = NP.
Ladner's theorem. If P ≠ NP (for some encoding of instances), some problem in NP is
neither in P nor NP-complete: Ladner's language SATH Arora and Barak, Theorem
3.3.