small medium large xlarge

Errata for Good Math

 

The latest version of the book is P1.0, released about 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.

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:

If you've found a new error, please submit it.

  • Typo
  • Tech. error
  • Suggestion
  • Maybe next edition
  • Not a problem
  • Reported in: P1.0 (01-Feb-15)
#78136
PDF page: 0
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...more...
  • Reported in: P1.0 (07-Aug-13)
#52334
PDF page: 4
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, 10^-x ...more...
  • Reported in: B1.0 (02-Aug-13)
#52303
PDF page: 5
The subset statement N_2 [subset] N (Section "Cantor's diagonalization"; I'm reading the sample pages, so I cannot give a page number) should ...more...
  • Reported in: P1.0 (07-Aug-13)
#52336
PDF page: 6
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." The value...more...
  • Reported in: B6.0 (24-Jun-13)
#52059
PDF page: 7
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 instead...more...
  • Reported in: P1.0 (07-Aug-13)
#52333
PDF page: 7q
States: n(n+1) (n+1)(n+2) ------ + n + 1 = ---------- 2 n should be: n(n+1) (n+1)(n+2) ------ + n +...more...
  • Reported in: P1.0 (07-Aug-13)
#52339
PDF page: 7
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 rather then ...more...
  • Reported in: P1.0 (03-Jan-14)
#58790
PDF page: 7
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 "n" is ...more...
  • Reported in: P1.0 (18-Aug-13)
#52417
PDF page: 7

Bottom of page
n(n + 1)/2 + n + 1 = (n + 1)(n + 2) / n

shouldn't that be
n(n + 1)/2 + n + 1 = (n + 1)(n + 2) / 2
--Philip Martel

  • Reported in: P1.0 (27-Aug-13)
#52476
PDF page: 7

In the right side of last formula in Chapter 1 p.7 the denominator of the fraction should be 2 instead of n.

  • Reported in: P1.0 (07-Aug-13)
#52337
PDF page: 10
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 expansion o...more...
  • Reported in: P1.0 (08-Aug-13)
#52345
PDF page: 12
Paper page: xii
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 probably g...more...
  • Reported in: P1.0 (03-Dec-13)
#53268
PDF page: 13
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)+(0,5)=...more...
  • Reported in: P1.0 (05-Sep-13)
#52583
PDF page: 15
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 you throu...more...
  • Reported in: P1.0 (28-Feb-14)
#76456
Paper page: 18+19
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 is only ...more...
  • Reported in: P1.0 (06-Nov-13)
#53117
Paper page: 20
(My book version reads "P1.0--July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".) Shouldn't the 4th...more...
  • Reported in: P1.0 (09-Aug-13)
#52352
PDF page: 20
Paper page: 6
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 it a ta...more...
  • Reported in: P1.0 (25-Aug-13)
#52453
PDF page: 20
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 × z) ≤ (y...more...
  • Reported in: P1.0 (30-Oct-13)
#53094
PDF page: 21
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 the proof ...more...
  • Reported in: P1.0 (28-Feb-14)
#76457
Paper page: 24
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."--...more...
  • Reported in: P1.0 (19-Aug-13)
#52419
PDF page: 50
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 in powe...more...
  • Reported in: P1.0 (12-Nov-13)
#53143
Paper page: 72
(My book version reads "P1.0--July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".) Shouldn't the 2nd...more...
  • Reported in: P1.0 (13-Nov-13)
#53148
Paper page: 72
(My book version reads "P1.0--July 2013" and as such is not listed on the erratum entry page under "Version of Book With Error".) Shouldn't lines 4...more...
  • Reported in: P1.0 (30-Dec-13)
#58777
Paper page: 73

Since PI = 3.141592653589793..., a more accurate statement would be that our continued fraction is accurate to 9 decimal places, not 11.--Heinz Kabutz

  • Reported in: P1.0 (18-Aug-13)
#52418
PDF page: 73
"Adding a single convergent to a continued-fraction approximation adds more information than adding a single digit." Not always true. The author's ...more...
  • Reported in: P1.0 (17-Sep-13)
#52944
PDF page: 95
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 Negation" one o...more...
  • Reported in: P1.0 (13-Jun-15)
#78494
PDF page: 97
A missing closing parenthesis. "¬ (∀ d: ∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Grandparent(g, e)" should be "¬ (∀ d: ∀ e: Cousin(d, e) ⇔ ∃ g: G...more...
  • Reported in: P1.0 (13-Jun-15)
#78496
PDF page: 97
"(∃ d: ¬ ∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Grandparent(g, e))" might be "∃ d: ¬ (∀ e: Cousin(d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Grandparent...more...
  • Reported in: P1.0 (14-Jun-15)
#78499
PDF page: 97
"∃ d: ∃ e: ¬ (Cousin (d, e) ⇔ ∃ g(Grandparent(g, d) ∧ Grandparent(g, e))" should be "∃ d: ∃ e: ¬ (Cousin (d, e) ⇔ ∃ g: Grandparent(g, d) ∧ Grandparent...more...
  • Reported in: P1.0 (17-Jun-15)
#78511
PDF page: 99

"7: ¬(¬A ∨ C)" should be "7: ¬(A ⇒ C)".--Tomohiko Kinebuchi

  • Reported in: P1.0 (17-Jun-15)
#78512
PDF page: 99

A statement number 13 is skipped, and numbers after it are pushed back.--Tomohiko Kinebuchi

  • Reported in: P1.0 (26-Aug-13)
#52467
PDF page: 99
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 the contr...more...
  • Reported in: P1.0 (25-Oct-14)
#77691
Paper page: 106
There's no definition of parent as the text suggests. The definition should probably be: parent(X, Y) :- father(X, Y); parent(X, Y) :- mother(X, Y)...more...
  • Reported in: P1.0 (21-Jul-15)
#78657
PDF page: 110

"the sum of A and S(B)" should be "the sum of A and s(B)".--Tomohiko Kinebuchi

  • Reported in: P1.0 (26-Jul-15)
#78661
PDF page: 114
Comparing the head and the pivot with "@=<", the smaller case "If the Head of the list to be partitioned is smaller than the Pivot," should be "If the...more...
  • Reported in: P1.0 (03-Dec-13)
#53269
Paper page: 130
The symbol you're using for equivalence in the definition of set union and subsequently throughout the book looks wrong. It's used consistently throug...more...
  • Reported in: P1.0 (26-Aug-13)
#52468
PDF page: 131
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 predicate...more...
  • Reported in: P1.0 (27-Aug-13)
#52475
PDF page: 140
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: two sets ...more...
  • Reported in: P1.0 (31-Aug-13)
#52532
PDF page: 141
but we had no way of creating a set containing both the empty set and the set containing the empty set ({∅, {∅}). Missing '}' before ')'.--Philip...more...
  • Reported in: P1.0 (31-Aug-13)
#52533
PDF page: 142
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 precedence ...more...
  • Reported in: P1.0 (31-Aug-13)
#52531
PDF page: 148
But it implies something absolutely crazy: the well-ordering theorem says that there’s a single, unique value that is the smallest positive real num...more...
  • Reported in: P1.0 (31-Aug-13)
#52534
PDF page: 157
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 even, b...more...
  • Reported in: B6.0 (23-Jun-13)
#52053
PDF page: 163
Paper page: 154
"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. --M...more...
  • Reported in: P1.0 (28-Dec-13)
#58771
Paper page: 168

in table 3, the cell at row g column d
should be "g" if d = 0

there's also a "1" in (j,b)

  • Reported in: P1.0 (18-Nov-14)
#77810
PDF page: 171

folloiwng instead of following.--Jochen Walter

  • Reported in: P1.0 (01-Sep-13)
#52547
PDF page: 185
I'm torn between "Typo" and "Technical Error" here "For example, we can create a machine that accepts strings that consist of any string containing ...more...
  • Reported in: P1.0 (14-Sep-14)
#77327
PDF page: 186
In the Figure 15, the arrow describing the transition from state A to state A itself does not have a label. It should be labeled with "a".--Tomohiko ...more...
  • Reported in: P1.0 (01-Sep-13)
#52551
PDF page: 186
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 "strings ...more...
  • Reported in: P1.0 (01-Sep-13)
#52548
PDF page: 190
"all of the different FSMs that you can generate for a particular regular expression will process exactly the same language and will do it in exactl...more...
  • Reported in: P1.0 (01-Sep-13)
#52549
PDF page: 190
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 character c, the...more...
  • Reported in: P1.0 (01-Sep-13)
#52550
PDF page: 192
A starred regular expression matches zero or one repetitions of a pattern. Zero repetitions is the empty string, so any starred regular expression c...more...
  • Reported in: P1.0 (27-Dec-13)
#58368
Paper page: 202

The last state in the list should not contain the minus, since the transition eraseone minus writes space.--Heinz Kabutz

  • Reported in: P1.0 (30-Dec-13)
#58778
Paper page: 206
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.--He...more...
  • Reported in: P1.0 (03-Nov-14)
#77766
PDF page: 215

In the second item on the page 215, words "a backward branch by a [" should be "a backward branch by a ]".--Tomohiko Kinebuchi

  • Reported in: P1.0 (25-Nov-14)
#77843
PDF page: 225

An expression "λ y . (λ x . x + y)) q" should be "(λ y . (λ x . x + y)) q".--Tomohiko Kinebuchi

  • Reported in: P1.0 (30-Nov-14)
#77871
PDF page: 228

"we’d evaluate (/ 24 6), (* 10 2), + 3 2" should be "we’d evaluate (/ 24 6), (* 10 2), (+ 3 2)".--Tomohiko Kinebuchi

  • Reported in: P1.0 (30-Nov-14)
#77872
PDF page: 228

"giving us (+ (* (+ 3 2) (+ 3 2)) (* 10 2)" should be "giving us (+ (* (+ 3 2) (+ 3 2)) (* 10 2))".--Tomohiko Kinebuchi

  • Reported in: P1.0 (19-Mar-15)
#78267
PDF page: 228
"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 the outerm...more...
  • Reported in: P1.0 (05-Jan-15)
#78017
PDF page: 233
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)". An equal sign has been dropped.--Tomohiko Kin...more...
  • Reported in: P1.0 (26-Dec-14)
#77972
PDF page: 236

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

  • Reported in: P1.0 (13-Sep-13)
#52630
PDF page: 238
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 less than ...more...
  • Reported in: P1.0 (13-Sep-13)
#52633
PDF page: 238
Please amend my earlier post to say "The factorial function N! is defined for all natural numbers: for any natural number N, its factorial is the pr...more...
  • Reported in: P1.0 (06-Jan-15)
#78023
PDF page: 238
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" was duplic...more...
  • Reported in: P1.0 (13-Sep-13)
#52631
PDF page: 245

The λ which is the very last character should really be on the next page. --Philip Martel

  • Reported in: P1.0 (13-Sep-13)
#52632
PDF page: 246
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 : γ”. For ...more...
  • Reported in: P1.0 (05-Feb-15)
#78151
PDF page: 248

"and say y: u (function type inference)" should be "and say y: t → u (function type inference)".--Tomohiko Kinebuchi

  • Reported in: B7.0 (30-Jun-13)
#52099
Paper page: 248
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 logical ...more...
  • Reported in: P1.0 (16-Feb-15)
#78189
PDF page: 254
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 paragrap...more...
  • Reported in: P1.0 (16-Feb-15)
#78188
PDF page: 255

In the second paragraph of the section "A Brilliant Failure", "A brief except" should be "A brief excerpt".--Tomohiko Kinebuchi

  • Reported in: P1.0 (25-Feb-15)
#78210
PDF page: 257

"interleave them to give you 10001011, or 139" should be "interleave them to give you 10000111, or 135".--Tomohiko Kinebuchi

  • Reported in: P1.0 (13-Sep-13)
#52634
PDF page: 257
"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 use in t...more...
  • Reported in: P1.0 (29-Jan-15)
#78109
PDF page: 261
The sentence "+ is a function with type α → α," is not true. Actually, a function "+" has a type α → α → α. It should be fixed with "+ 3 is a functio...more...