15
$\begingroup$

Chaitin's incompleteness theorem roughly saying states that for any theory $S$ there exists universal constant $L$ that for any string $\sigma$ one cannot prove (within this theory) that $K(\sigma)>L$ where $K$ is the Kolmogorov complexity. Since this constant is universal I'm very curious

How one can estimate thisconstant for some well known theories (Peano arithmetic is the first one which comes to my mind but the answer would be even more interesting for ZFC)-for example could it be compared with Busy Beaver numbers?

I suspect that in order to say anything about such a constant one has to use some richer theory so for ZFC I would be also interested what axioms do we have to add to $ZFC$?

EDIT: adressing a comment below: I'm not sure whether it is enough but I would like to stick to Turing model of computation: namely fix some universal Turning machine and then ask my questions: please, correct me if it is still not enough information for my question to be well posed

$\endgroup$
4
  • $\begingroup$ Kolmogorov complexity is only defined at best up to a constant multiple, since it depends on the formalism of computability. $\endgroup$ Commented Sep 14, 2023 at 16:11
  • 1
    $\begingroup$ Possible duplicate $\endgroup$
    – Gro-Tsen
    Commented Sep 14, 2023 at 16:11
  • $\begingroup$ @JoelDavidHamkins Do you mean up to an additive constant, rather than a constant multiple? $\endgroup$ Commented Sep 14, 2023 at 22:34
  • $\begingroup$ @TimothyChow Yes, sorry. The constant is the cost of translating between various formalisms. $\endgroup$ Commented Sep 14, 2023 at 22:38

1 Answer 1

16
$\begingroup$

One way to provide an explict bound on $L$ is as follows, using the idea of the universal algorithm.

Namely, for any computably axiomatizable theory $T$ in question, consider the algorithm $p$ that searches for a proof of a statement of the form "sequence $s$ is not the output of program $p$ on empty input," where the sequence is mentioned explicitly in the statement. For the first such sequence found, halt immediately and give that sequence as output.

(One might notice that the program $p$ is defined in a self-referential manner, since $p$ is looking for proofs about itself; but this is no problem at all, and the existence of a program fulfilling this recursive definition follows directly from the Kleene recursion theorem — it's just like creating a Quine program. We can in principle write down $p$ explicitly.)

The crucial feature of this program is the following universality property. Namely, if $T$ is consistent (and let us suppose it includes some very minimal arithmetic theory), then you will not be able to prove of any specific $s$ that it is not the output of this program, for if you could, then the program would indeed find such an $s$ and give it as output. But in this case, the theory would also be able to prove that this $s$ was the output of $p$, since we can easily prove that the output of a halting computation is what it actually happens to be. This would be proving a contradiction.

So you cannot prove of any particular $s$ that it is not the output of $p$. And so it is consistent with the theory for any $s$ that it IS the output of $p$. In other words, for every finite sequence $s$ it is consistent with the theory $T$ that the Kolmogorov complexity of $s$ does not exceed the number of states in $p$.

So the number of states in $p$, which is a program that we can in principle write down explicitly, is an upper bound for the universal constant $L$. Because of this, the number $L$ is not as large as one might have supposed. It is not crazy large like the busy beaver numbers, but rather something approachable.

The bound I provide, estimating very roughly, is probably something less than ten thousand or so, since I would think that we can write the program within that many states. Certainly less than one hundred thousand. (But actually I believe that apart from the universal algorithm, the optimal value of $L$ will be considerably less than this, probably less than one hundred.)

I note also that the bound provided by this argument does not vary much with the strength of the theory, whether PA or ZFC or ZFC + large cardinals, or what have you. Each theory will have a somewhat different program, but the sizes of these programs will be in roughly the same ballpark.

$\endgroup$
7
  • 2
    $\begingroup$ In Johannes Riebel's bachelor's thesis, The Undecidability of BB(748): Understanding Goedel’s Incompleteness Theorems, he exhibits a 748-state Turing machine that enumerates all theorems of ZFC and halts if and only if it finds a contradiction. So $L$ is less than 1000. $\endgroup$ Commented Sep 14, 2023 at 22:29
  • $\begingroup$ @TimothyChow Why not post an answer? You could explain more fully how to use that program to show that we cannot prove in ZFC any instance of a particular string having Kolmogorov complexity above 1000. Or did you mean to combine that result with the universal algorithm I am describing? $\endgroup$ Commented Sep 14, 2023 at 22:37
  • $\begingroup$ Wow! Honestly, it is the first time when I'm amazed by a smallness of the number which turned out to be of the order of...several thousands! Thank you! $\endgroup$
    – truebaran
    Commented Sep 14, 2023 at 22:45
  • 1
    $\begingroup$ Ah, yes, I agree then. Perhaps a few thousand, though, since one has to code in Turing machines now as well. (But actually, just the statement in set theory about them.) So I think my ten thousand estimate isn't far off. $\endgroup$ Commented Sep 14, 2023 at 23:04
  • 1
    $\begingroup$ @JoelDavidHamkins Oh, I see what you mean...I missed that nuance. $\endgroup$ Commented Sep 14, 2023 at 23:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .