One of the striking aspects of -completeness is that a surprisingly large number of problems - including some that were studied for many decades- turned out to be -complete. This phenomenon suggests a bold conjecture: every problem in is either in or -complete. If then the conjecture is trivially true but uninteresting.
We show that if (as widely believed) , then this conjecture is false - there is a language that is not -complete.
An interesting feature of the proof is an interesting and Gödelian definition of a language which "encodes" the difficulty of solving itself.
Theorem ('NP intermediate" languages [Lad75]) : Suppose that . Then there exists a language that is not -complete.
:
For every function we define the language to contain all length- satisfiable formulae that are padded with 1's.
We now define a function as follows:
is the smallest number such that for every with outputs within steps.
Recall that is the machine represented by the binary expansion of , and is equal to 1 iff . If there is no such number then
is well-defined since determines membership in of strings whose length is greater than , and the definition of only relies upon checking the status of strings of length at most . In fact, the definition of directly implies an -time recursive algorithm that computes from . We defined in this way to ensure the following claim:
iff (i.e., there's some such that for every ). Moreover, if then tends to infinity with
PROOF OF CLAIM:
Using this claim we can show that if then is neither in nor complete:
Suppose that . Then by the claim, for some constant implying that is simply SAT padded with at most a polynomial (namely, ) number of 1's. But then a polynomial-time algorithm for can be used to solve SAT in polynomial time, implying that !
Suppose that is -complete. This means that there is a reduction from to that runs in time for some constant Since we already concluded is not in the claim above implies that tends to infinity. Since the reduction works in time only, for large enough it must map SAT instances of size to instances of size smaller than . Thus for large enough formulae the reduction must map it to a string of the type where is smaller by some fixed polynomial factor, say, smaller than . But the existence of such a reduction yields a simple polynomial-time recursive algorithm for SAT, contradicting the assumption !