Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
Notes for the Lifebox, the Seashell, and the Soul - Rudy Rucker
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Notes</strong> <strong>for</strong> The <strong>Lifebox</strong>, <strong>the</strong> <strong>Seashell</strong>, <strong>and</strong> <strong>the</strong> <strong>Soul</strong>, by <strong>Rudy</strong> <strong>Rucker</strong><br />
<strong>the</strong> string n is found on <strong>the</strong> Turing machine tape.<br />
Definition. The integer n is Chaitin-Kolmogorov incompressible if <strong>for</strong> no e < n do we<br />
have T e (0) = n.<br />
Ra<strong>the</strong>r than working with arbitrary kinds of computations, <strong>the</strong> proof of Chaitin’s<br />
<strong>the</strong>orem focuses on Turing machines with two symbols. The key notion behind <strong>the</strong> proof is<br />
that both <strong>the</strong> programs <strong>and</strong> <strong>the</strong> outputs of <strong>the</strong>se Turing machines can both be thought of as<br />
strings of 0s <strong>and</strong> 1s. Because of this, a program can itself be regarded as possibly being <strong>the</strong><br />
output of a smaller program. For any P, let P* be <strong>the</strong> program such that if P(0) halts with<br />
output Q, Q is treated as a program <strong>and</strong> Q(0) is run. There will be some fixed number<br />
overhead such that size(P*) = size(P) + overhead.<br />
Now Chaitin argues that if of, once again, <strong>the</strong> unsovability of <strong>the</strong> halting problem.<br />
know that a string is a name <strong>for</strong> ano<strong>the</strong>r string, you need to know that, when fed into <strong>the</strong><br />
universal computer, <strong>the</strong> name produces a computation that writes <strong>the</strong> target string <strong>and</strong> halts.<br />
So proving that a number is Chaitin complex involves proving that certain computations<br />
don’t halt <strong>and</strong> <strong>the</strong>re<strong>for</strong>e fail to name <strong>the</strong> string. And, as we know by now, some<br />
computations never halt even though you can’t prove this to be so.<br />
A more transparent way to get at <strong>the</strong> proof of Chaitin’s <strong>the</strong>orem is to use <strong>the</strong><br />
following line of thought. If that if Chaitin’s <strong>the</strong>orem weren’t true, <strong>the</strong>n T could prove <strong>the</strong>re<br />
is a number called BerryT which is definable as “<strong>the</strong> first number that doesn’t have a<br />
definition shorter than itself.” And <strong>the</strong>n T would be in trouble as this proof provides a short<br />
name <strong>for</strong> BerryT.<br />
People Who Email Me About Gödel’s Proof<br />
I’ve written about Gödel’s proof be<strong>for</strong>e, like in Infinity <strong>and</strong> <strong>the</strong> Mind <strong>and</strong> in Mind<br />
Tools, <strong>and</strong> I get email about it every few months, usually from people who think <strong>the</strong> proof is<br />
wrong. Guys wanting to tell me <strong>the</strong>y’re smarter than Kurt Gödel. “Oooooh kay.”<br />
Adding Quantifiers<br />
The simple sentences G I’ve been discussing can be characterized as having a single<br />
kind of quantifier ⎯ where a quantifier is a phrase like “<strong>for</strong> all n” or “<strong>for</strong> some n”.<br />
Although we’ve speaking of G as having <strong>the</strong> <strong>for</strong>m “For all n, g[n] is false,” we could also<br />
express it as <strong>the</strong> negation of a sentence of <strong>the</strong> <strong>for</strong>m “There is an n such that g[n].”<br />
Adding more quantifiers of <strong>the</strong> same kind doesn’t change much. But if we allow<br />
alternating quantifiers we get into a richer zone of undecidability.<br />
Course-of-values Simulation<br />
A slightly stronger <strong>for</strong>m of simulation is what one might call course-of-values<br />
simulation. Say that Big with translation function tr is a course-of-values-simulation of<br />
Small iff, <strong>for</strong> any s0, if <strong>the</strong> computation Small(s0) produces, at some increasing sequence of<br />
times, <strong>the</strong> output states s1, s2, s3, etc., <strong>the</strong>n <strong>the</strong> Big(tr(s0)) will also produce, <strong>for</strong> some<br />
increasing sequence of times, <strong>the</strong> states tr(s1), tr(s2), tr(s3), etc.<br />
References<br />
David Deutsch, The Fabric of Reality: The Science of Parallel Universes — <strong>and</strong> Its<br />
p. 106