Or, You Can't Know What You Don't Know You Can't Know.
This is an interesting result from modal logic that I will try to sketch here. The upshot of the result, depending on which side of a divide you fall into, is either that there are some truths that are logically impossible to know, or that every truth is already known by someone.
The dividing line in this case is whether you are a realist or anti-realist. The realists posit that there is an external reality that has certain definite properties. The anti-realist deny that such an external reality exists (or, in some cases, that we can have access to it). I'll get more into this distinction after I sketch the proof. If you find logic boring, feel free to skip the proof and scroll to the end for a brief discussion on the implications of this result.
XKCD posted a logic program titled Blue Eyes: The Hardest Logic Puzzle in the World. The problem got posted to reddit, and of course a large argument erupted in the comments thread about how the question doesn’t make sense, the solution doesn’t make sense / doesn’t work / is flawed / etc. etc. etc.
Rather than futilely attempt to make myself heard above the din, I’m writing this post which explains what the solution is, how you get to the conclusion, why it is in fact correct, and why the guru’s statement is necessary.
The paradox of the heap, also known as the Sorities Paradox (from the Greek word for heap), is a paradox revolving around the problem of vagueness.
In its classical formulation, the paradox is expressed as follows:
One grain of sand is not a heap.
If one grain of sand is not a heap, adding one grain of sand will not make it a heap.
So two grains of sand are not a heap.
So three grains of sand do not make a heap.
…
X grains of sand do not make a heap.
Therefore, 10,000 grains of sand do not make a heap.
The form of this argument boils down to:
X grains of sand are not a heap.
If X grains of sand are not a heap, adding 1 grain of sand will not make it a heap.
(Some arbitrary large number of grains of sand) do not make a heap.
In one of those funny coincidences where it seems the popular mind is pregnant with an idea, an article was recently published to the programming section on reddit that mentions the busy beaver function. The article is titled “Who Can Name The Bigger Number?” and is essentially about trying to name very large integers.
The article is fairly long, but also quite interesting. The associated thread on reddit is also interesting, but is topped by a very similar discussion on the XKCD blog about naming large numbers.
Computers are a wonderful invention, capable of a profound variety of actions. But there are limits to what a computer can do, and today I wish to talk about one of them. Specifically, I wish is discuss the Busy Beaver problem.