8

$\text{ALL}$ is literally the class of ALL languages.

Are there $\text{ALL}$—complete problems? That is, are there problems for which a solution would allow one to solve any problem whatsoever? Such problems could reasonably be considered"the hardest problems, bar none".

One such problem seems to be: given a problem and an input size, output it's truth table.

Demi
  • 529
  • 2
  • 8
  • there is a sense in which this is exactly the concept behind Turing completeness/ TM-complete languages... – vzn Jul 03 '16 at 04:57

1 Answers1

9

You haven't specified your notion of reduction, so I will assume that you choose some countable class of functions $\cal F$ which can be used for reductions (any subset of the computable functions would work here). Let $\cal L$ be any class of languages over some fixed alphabet $\Sigma$, say $\Sigma = \{0,1\}$. A language $K$ is hard for $\cal L$ (with respect to $\cal F$) if for every $L \in \cal L$ there exists $f \in \cal F$ such that $x \in L$ iff $f(x) \in K$. If also $K \in \cal L$ then we say that $K$ is complete for $\cal L$.

I will now show that no language is hard for $\mathsf{ALL}$. Suppose that $K$ were $\mathsf{ALL}$-hard. Let $f_x : x \in \Sigma^*$ be an enumeration of the functions in $\cal F$ (such an enumeration exists since both $\Sigma^*$ and $\cal F$ are countable). Define a language $L$ by $$ L = \{x : f_x(x) \notin K \}. $$ Since $L \in \mathsf{ALL}$, there exists a function $f \in \cal F$ such that for all $x \in \Sigma^*$, $x \in L$ iff $f(x) \in K$. Since $f \in \cal F$, there exists $x \in \Sigma^*$ such that $f = f_x$. For this particular $x$, $x \in L$ iff $f_x(x) \in K$. However, by definition $x \in L$ iff $f_x(x) \notin K$.

Yuval Filmus
  • 276,994
  • 27
  • 311
  • 503
  • Interesting cardinality argument. What about the problem I gave in the question (given a function description, return its truth table)? It seems that this problem (which is of course very undecidable) would allow any problem whatsoever to be solved (get the truth table from the oracle, then look up the problem). Can you explain where my argument goes wrong, other than the fact that (obviously) no such oracle exists? – Demi Jul 03 '16 at 02:28
  • It's your intuition that goes wrong. You can't input a "problem", since problems don't have finite descriptions in general. – Yuval Filmus Jul 03 '16 at 06:32
  • So basically even an all-powerful oracle (that could answer any question asked of it) is still inadequate to solve some problems, because there is no way to give the oracle the needed information? – Demi Jul 03 '16 at 08:21
  • 1
    There is no such thing as an all-powerful oracle, exactly for this reason. The proof of undecidability of the halting problem can be extended to show that given any oracle $O$, the problem of deciding whether a Turing machine with access to $O$ halts remains undecidable even given access to $O$. On the other hand, we can construct an oracle which can either "redirect" to $O$ or solve the halting problem for machine with access to $O$. This oracle is more powerful than $O$. – Yuval Filmus Jul 03 '16 at 08:23
  • Ah okay. So the the reason that all-powerful oracles do not exist, while $EXP/exp = ALL$, is because the advice can depend on an infinite amount of information about the problem? – Demi Jul 03 '16 at 08:26
  • Yes, since there is a different (and growing) advice for each input size, the total amount of advice is infinite. An advice of $2^n$ is enough to solve every problem of size $n$, and we can afford such an advice for every input size, then we are able to solve any problem. – Yuval Filmus Jul 03 '16 at 08:34