Errata for Good Math
We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.
The latest version of the book is P1.0, released almost 2 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.
Paper  Description  Found in  Fixed in  

0 
#78136: Love the book. Incorrect Y combinator diagram though (figure 18 in chapter 25): it depicts λy.(λy.yxx)(λy.yxx) rather than λy.(λx.yxx)(λx.yxx)Philip Schwarz 
P1.0
01Feb15 

4 
#52334: Page 4 of preview chapter irrationals.pdf:
"According to legeng" > legend
Page 5
"...consists of a string of 0s and 1s where for digit x...more...

P1.0
07Aug13 

5 
#52303: The subset statement
N_2 [subset] N
(Section "Cantor's diagonalization"; I'm reading
the sample pages, so I cannot give a page number)
...more...

B1.0
02Aug13 

6 
#52336: Page 6 of preview chapter irrationals.pdf
"Since the value of e^(i*pi) is not transcendental — it’s 1 — then pi must be transcendental."
T...more...

P1.0
07Aug13 

7 
#52059: At the bottom of the page, in step 1, below 'So we can substitute that in and get this:' it should be after the equal sign: (n + 1)(n + 2) / 2...more...

B6.0
24Jun13 

7q 
#52333: States:
n(n+1) (n+1)(n+2)
 + n + 1 = 
2 n
should be:
n(n+1) (n+1)(n+2)
...more...

P1.0
07Aug13 

7 
#52339: In the equation on the bottom of the page, under "So we can substitute that in and get this:" shouldn't the right hand denominator be a 2 rath...more...

P1.0
07Aug13 

7 
#58790: Peano induction rule proof for "Summation of N+1 natural numbers", the error is on the last line of the page on the right hand side divided by...more...

P1.0
03Jan14 

7 
#52417: Bottom of page
shouldn't that be

P1.0
18Aug13 

7 
#52476: In the right side of last formula in Chapter 1 p.7 the denominator of the fraction should be 2 instead of n. 
P1.0
27Aug13 

10 
#52337: Page 10 of cantor.pdf
[...] D(x,y) returns the yth digit of the decimal expansion of R(x)
[...]
D(x,3) is the third digit of the binary exp...more...

P1.0
07Aug13 

12  xii 
#52345: There are two nearly identical sentences on this page:
"I figured that I’d probably get a couple of dozen people to read it and that I’d pr...more...

P1.0
08Aug13 

13 
#53268: This doesn't seem correct to me:
The definition of subtraction turns out to be pretty neat. 3–5 would be (3,0)–(5,0),which is equal to (3,0...more...

P1.0
03Dec13 

15 
#52583: Bit of a nitpick but...
The third paragraph starts as follows "There are a couple of ways to describe the real numbers. I’m going to take y...more...

P1.0
05Sep13 

18+19 
#76456: The field axioms are already valid for the rational numbers, and the ordering as well. Both are not specific for the real numbers. Really new ...more...

P1.0
28Feb14 

20 
#53117: (My book version reads "P1.0July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".)
Shouldn't...more...

P1.0
06Nov13 

20  6 
#52352: This was confusing to me:
Recursion For any natural numbers m and n,
m + s(n) = s(m + n)
...
It’s easier to read if you just rewrite...more...

P1.0
09Aug13 

20 
#52453: The 3th point of:
• “≤” is compatible with “+” and “×”:
1. If x ≤ y then (x + 1) ≤ (y + 1).
2. If x ≤ y, then for all z where 0 ≤ z, (x ×...more...

P1.0
25Aug13 

21 
#53094: the last equation on that page has the right hand side with a denominator of 'n', whereas I believe it should be '2'. Otherwise the rest of th...more...

P1.0
30Oct13 

24 
#76457: A small omission: "There's no finite sequence of ... and roots _with only integer numbers_ that will give you the value of a transcendental number."Dr. Gerhard Nehmiz 
P1.0
28Feb14 

50 
#52419: The description of electrical power is wrong. The power does turn on and off. If you apply AC to a resistive load, you can detect the change...more...

P1.0
19Aug13 

72 
#53143: (My book version reads "P1.0July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".)
Shouldn't...more...

P1.0
12Nov13 

72 
#53148: (My book version reads "P1.0July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".)
Shouldn't...more...

P1.0
13Nov13 

73 
#58777: Since PI = 3.141592653589793..., a more accurate statement would be that our continued fraction is accurate to 9 decimal places, not 11.Heinz Kabutz 
P1.0
30Dec13 

73 
#52418: "Adding a single convergent to a continuedfraction approximation adds more information than adding a single digit."
Not always true. The a...more...

P1.0
18Aug13 

95 
#52944: In the explanation of Step 2, you used the "Or negation" rule, not "And negation". Also in the table of rules you have two labeled "Or Negatio...more...

P1.0
17Sep13 

97 
#78494: A missing closing parenthesis.
"¬ (∀ d: ∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Grandparent(g, e)" should be "¬ (∀ d: ∀ e: Cousin(d, e) ...more...

P1.0
13Jun15 

97 
#78496: "(∃ d: ¬ ∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧
Grandparent(g, e))" might be "∃ d: ¬ (∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧
Gra...more...

P1.0
13Jun15 

97 
#78499: "∃ d: ∃ e: ¬ (Cousin (d, e) ⇔ ∃ g(Grandparent(g, d) ∧ Grandparent(g, e))" should be "∃ d: ∃ e: ¬ (Cousin (d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Gra...more...

P1.0
14Jun15 

99 
#78511: "7: ¬(¬A ∨ C)" should be "7: ¬(A ⇒ C)".Tomohiko Kinebuchi 
P1.0
17Jun15 

99 
#78512: A statement number 13 is skipped, and numbers after it are pushed back.Tomohiko Kinebuchi 
P1.0
17Jun15 

99 
#52467: In figure 1, the first line of the truth tree has (sorry, I can't copy the symbols)
not((A impl B) and (B impl C)) impl (A impl C)
To be t...more...

P1.0
26Aug13 

106 
#77691: There's no definition of parent as the text suggests.
The definition should probably be:
parent(X, Y) : father(X, Y);
parent(X, Y) : moth...more...

P1.0
25Oct14 

130 
#53269: The symbol you're using for equivalence in the definition of set union and subsequently throughout the book looks wrong. It's used consistentl...more...

P1.0
03Dec13 

131 
#52468: So Parent is a subset of the values from the
Cartesian product of the set of people with itself. (Mark,
Rebecca) ∈ Parent, and Parent is a p...more...

P1.0
26Aug13 

140 
#52475: The Axiom of Extensionality
∀ A, B : A = B ≨ (∀ C : C ∈ A ⇒ C ∈ B)
This is a formal way of saying that a set is described by
its members: t...more...

P1.0
27Aug13 

141 
#52532: but we had no way of creating a set containing
Missing '}' before ')'.Philip Martel 
P1.0
31Aug13 

142 
#52533: Axiom of infinity
∃ N : ∅ ∈ N ∧ (∀ x : x ∈ N ⇒ x ∪ { x } ∈ N)
It's probably ok as written, but since you haven't specified an operator pre...more...

P1.0
31Aug13 

148 
#52531: But it implies something absolutely crazy: the wellordering
theorem says that there’s a single, unique value that is the
smallest positive ...more...

P1.0
31Aug13 

157 
#52534: The natural number 0 will represent the integer 0; 0 is
even, because 0 * 0 = 0; so 0 is represented by the empty
set.
That should be "0 is...more...

P1.0
31Aug13 

163  154 
#52053: "that is the smallest positive number larger!" doesn't make sense. The last sentence of the paragraph makes the point that this sentence does not. Mitch Amiano 
B6.0
23Jun13 

168 
#58771: in table 3, the cell at row g column d
there's also a "1" in (j,b) 
P1.0
28Dec13 

171 
#77810: folloiwng instead of following.Jochen Walter 
P1.0
18Nov14 

185 
#52547: I'm torn between "Typo" and "Technical Error" here
"For example, we can create a machine that accepts strings
that consist of any string con...more...

P1.0
01Sep13 

186 
#77327: In the Figure 15, the arrow describing the transition from state A to state A itself does not have a label.

P1.0
14Sep14 

186 
#52551: Figure 15 shows state A marked as final. This means that your machine would accept the string "a", which is *not*
an element of the set of "...more...

P1.0
01Sep13 

190 
#52548: "all of the different FSMs that
you can generate for a particular regular expression will
process exactly the same language and will do it i...more...

P1.0
01Sep13 

190 
#52549: In formal terms, let S(r) be the set of strings accepted by the
regular expression r. Then if you have a regular expression
r and a characte...more...

P1.0
01Sep13 

192 
#52550: A starred regular expression matches zero or one repetitions
of a pattern. Zero repetitions is the empty string,
so any starred regular expr...more...

P1.0
01Sep13 

202 
#58368: The last state in the list should not contain the minus, since the transition eraseone minus writes space.Heinz Kabutz 
P1.0
27Dec13 

206 
#58778: The link for the Turing Machine written in Haskell points to the website for the book, but the source code zip does not include the TM simulation.Heinz Kabutz 
P1.0
30Dec13 

215 
#77766: In the second item on the page 215, words "a backward branch by a [" should be "a backward branch by a ]".Tomohiko Kinebuchi 
P1.0
03Nov14 

225 
#77843: An expression "λ y . (λ x . x + y)) q" should be "(λ y . (λ x . x + y)) q".Tomohiko Kinebuchi 
P1.0
25Nov14 

228 
#77871: "we’d evaluate (/ 24 6), (* 10 2), + 3 2" should be "we’d evaluate (/ 24 6), (* 10 2), (+ 3 2)".Tomohiko Kinebuchi 
P1.0
30Nov14 

228 
#77872: "giving us (+ (* (+ 3 2) (+ 3 2)) (* 10 2)" should be "giving us (+ (* (+ 3 2) (+ 3 2)) (* 10 2))".Tomohiko Kinebuchi 
P1.0
30Nov14 

228 
#78267: "Next, we'd reduce the outermost λ:(+(* 5 5) 30), which would evaluate to (+25 30), and finally to 55."
Should be
"Next, we'd reduce th...more...

P1.0
19Mar15 

233 
#78017: At the bottom of the page 233, "add λ s z x y . x s (y s z)" should be "add = λ s z x y . x s (y s z)".

P1.0
05Jan15 

236 
#77972: In the fifth item of the list to describe how "BoolAnd TRUE FALSE" is evaluated, "(λxf yf.yf)" should be "(λ ft ff. ff)".Tomohiko Kinebuchi 
P1.0
26Dec14 

238 
#52630: The factorial function N! is defined for all natural numbers: for any natural number N, its factorial is the product of all of the integers le...more...

P1.0
13Sep13 

238 
#52633: Please amend my earlier post to say
"The factorial function N! is defined for all natural numbers: for any natural number N, its factorial i...more...

P1.0
13Sep13 

238 
#78023: In the second paragraph, "If you you look at the sequence of examples," should be "If you look at the sequence of examples,".
A word "you" wa...more...

P1.0
06Jan15 

245 
#52631: The λ which is the very last character should really be on the next page. Philip Martel 
P1.0
13Sep13 

246 
#52632: The context is usually written as an
uppercase letter. If a type context G includes the judgement
that x : γ, we’ll write that as G : x : γ...more...

P1.0
13Sep13 

248 
#78151: "and say y: u (function type inference)" should be "and say y: t → u (function type inference)".Tomohiko Kinebuchi 
P1.0
05Feb15 

248 
#52099: Last line substitute 'δ' by 'β' or on the 2nd line of page 249 the other way round:
implication isn’t accidental: a function type α → δ is a ...more...

B7.0
30Jun13 

254 
#78189: I am sorry that I have submitted the following typo report with a wrong page number. A correct page number is 254.
> #78188: In the second ...more...

P1.0
16Feb15 

255 
#78188: In the second paragraph of the section "A Brilliant Failure", "A brief except" should be "A brief excerpt".Tomohiko Kinebuchi 
P1.0
16Feb15 

257 
#78210: "interleave them to give you 10001011, or 139" should be "interleave them to give you 10000111, or 135".Tomohiko Kinebuchi 
P1.0
25Feb15 

257 
#52634: "And finally, the way that
we would write that a program p doesn’t halt for input i is
C(p, i) = _."
You should probably use the "⊥" you ...more...

P1.0
13Sep13 

261 
#78109: The sentence "+ is a function with type α → α," is not true. Actually, a function "+" has a type α → α → α.
It should be fixed with "+ 3 is a...more...

P1.0
29Jan15 