Last Update: Monday, 10 March 2025 |
The philosopher of science Bas van Fraasen once expressed the following theorem: Theorem: There are infinitely many errors
on every page of a text.
With that in mind, I encourage my readers to send me corrections — both typographical as well as substantive philosophical ones!
|
Here are the ones that have been found so far:
(or, even better: LATEX)
(The idea is that the boldface portions represent the hypotheses and the non-boldface portions represent the observations.)
(with a semicolon before "Haugeland" and a comma after the date)
Therefore, on line 8, "Abstraction" should be left-justified under "An "exit" instruction", and only its text beginning with "A structured programming language" and ending with the citation to Liskov and Zilles should be a displayed quotation.
In the ePub version, there are two occurrences of algorithm A2*H.
The first one is incorrect; it should be:
(Thanks to Chen Yiwen for pointing this out.)
It seems that what you want is a definition of A*H that gets one input and passes it as both C and i to AH. Something like this (yes, for better or worse I use a Pythonic style because it seems simple):
def A*H(C):
if AH(C, C):
while True:
pass
else:
print("loops")
Now take A*H(A*H):
Now you can use the original argument:
If A*H halts on A*H, then, by (1), A*H(A*H) loops, i.e., A*H on A*H loops. That already is a contradiction, so we take the alternative case. If A*H loops on A*H, then, by (2), A*H(A*H) halts, i.e., A*H on A*H halts, which is again a contradiction. In both cases, we have a contradiction.
To make matters worse, endnotes 30 and 31 are reversed in the listing at the end of the chapter!
Please see the printed version for the correct numbering of endnotes for this chapter! (Readers of the ePub version who do not have access to the printed version may contact me for a correct version of Ch. 7.)
(Thanks to Chen Yiwen for pointing this out.)