# Errata in the Textbook

Errors in the fourth draft of A Mathematical Foundation for Computer Science be listed here as they are discovered. We are starting with the list from Spring 2006 -- course packet 10 from this term contains the same text of Chapters 1-3. My thanks to all who have reported errors!

• Cover (of course packet 10): Says "Chapters 1-4" but only 1-3 are there (though solutions to exercises cover 1-4). Also, the top should say "Fall 2007" rather than "Fall 2004".
• Page 1-14, Problem 1.2.2: The first line should be "Let A be any finite alphabet, and let u and v be strings over A." No reference to the alphabet of Problem 1.2.1 is intended.
• Page 1-16, Problem 1.2.7 (b): This would be more clearly stated as "strings such that the first letter exists and is the same as the last letter", to take care of the case where the string is empty.
• Page 1-23, second full paragraph: The text does not match the diagram -- it refers to a four-row diagram where both p and q range over both boolean values.
• Page 1-23, Definition: The first "p" on the second line of the Definition should be a "q".
• Page 1-27, Exercise 1.4.8(c), add a comma after "fish" to remove ambiguity.
• Page 1-28, Problem 1.4.5 (h): Add a left paren at the beginning and a right paren before the first ↔. Because the ⊕ and ↔ operators are commutative and associative with each other, the original formula has only one interpretation, but that is not obvious at this point in the book.
• Page 1-35, longest formula in the middle of the page: There should be a "not" sign in front of the last "x ∈ C".
• Page 1-40, footnote: In the third line the second "zero" should be "one".
• Page 1-42, Exercises: The second "Exercise 1.6.2" should be "Exercise 1.6.3".
• Page 1-44, first Example: The tautology discussed here isn't exactly the one from Section 1.6.
• Page 1-47, "Proof By Cases" formula: Parentheses are wrong -- one of the ")"'s after the ¬r should be moved to after the second q so the whole formula is (((p∧r)→q)∧((p∧¬r)→q))→(p→q).
• Page 1-48, Problem 1.7.1: In the fourth line, "he demands to have the instance..."
• Page 1-52, second paragraph: Capitalize "If" after "Fantasy Rule:"
• Page 1-53, Problem 1.8.4: On the third line it should say "p2=2q2" rather than "q2=2p2". On the fourth line, the new proposition should be "p is even".
• Page 2-6, Problem 2.1.4: in the third line, it should say "...whose second element is in B × C."
• Page 2-23, Problem 2.6.1: Add the additional premise "Every animal is either angry or happy."
• Page 2-24, Problem 2.6.4 (b): The two "strict subset" symbols should just be ordinary subset symbols.
• Page 2-37, Problem 2.9.3: The statement to be proved is false as given. It should say "Prove that f must be one-to-one and that g must be onto, but that it is possible for either of f and g to not be a bijection."
• Page 2-44, Problem 2.5.10: In part (b), the definition of the relation S must be changed to make S reflexive, e.g., "S(x,y) means x=y or x defeated y or x defeated some team z such that S(z,y)". In part (d), the final question should be "What are the possible Hasse diagrams of the S relation of such a tournament?"
• Page 2-48, second line: "transitivity" is misspelled.
• Page 3-18, Problem 3.3.5: The first line should say "two positive numbers" because in the special case where a=0 and b=1, the first statement is true and the second is false.
• Page 4-26, second line: should say "x + 0 = x".
• Page 4-36, Problem 4.7.5: label should be "P4.7.5", last word of first line should be "pseudo-Java".
• Page 4-29, Exercise 4.6.5: The last expression should be "∀x:∀y: (w > 0) → x · pred(w) = x · w - x".
• Pages 6-2 and 6-3: In course packet 72, these are reversed for some reason, with 6-2 following 6-3.
• Page 6-24, Problem 6.4.7: In the first line, |A| should be n and |B| should be k. In the second line of part (d), it should say "the n-1 elements of B". The hint should end with a right paren. An additional hint should read: "You may find it easier to prove the formula S(n,k) = k(S(n-1,k) + S(n-1,k-1)) and then use this formula to prove a formula for S(n,n-1) by induction. To prove the formula, first count the functions f from A to B where f(1) is needed to make f onto, then count the functions where it is not."
• Page 6-38, top: The first exercise on the page should be "E6.7.5", not "E6.7.4".
• Page 8-15, Problem 8.2.4: The last line of code should be ```entry = new natural[rows][columns];```.
• Page 8-15, Problem 8.2.5: The `Semiring` interface should also require a class to have constructors giving zero and one elements of the semiring.
• Page T-25, last line: "bound" should be "found".
• Page T-26, Figure T-7: In the rightmost diagram, node e should be between node d and node g, with a tree edge from d to e and a tree edge from e to g instead of the tree edge from d to g.
• Page T-27, Figure T-9: The rightmost diagram should be labeled "root c". The caption should refer to "nodes a and c" rather than "nodes A and B".
• Page T-31, second full paragraph of page: Delete the text from "(If we allow..." through "we must check on".
• Page T-33, Problem T.6.3: The third and fourth bullets should say "from (i,j) to (i, j+1)" and "from (i,j) to (i, j-1)" respectively.
• Page T-34, second paragraph of Subsection T.7.2: In the third line, "from s to v" should read "from v to a goal node".
• Page T-34, third paragraph of Subsection T.7.2: In the fourth line, "by going to u" should read "by going to v".
• Page T-37, Exercise T.7.5: Change the final comma to a period.
• Page 11-6, solution to Exercise 1.5.7: The last sentence is incorrect -- A\B and B\A are equal if and only if they are both empty, which is true if and only if A and B are equal.
• Page 11-7, Figure 11-2: The region for P - (Q∪R) should also be shaded.
• Page 11-9 (vol 1), solution to Exercise 1.7.2 (d): The header line of the truth table is wrong. The head of the fourth column after the vertical bar should be "∧", and each column after that should have the header that is now on the column to its left. Thus the formula being evaluated is "((p∧q)∧r)↔(p∧(q∧r))".
• Page 11-10, solution to Exercise 1.7.7: The third line should be "q ∨¬p" rather than "q∨¬q".
• Page 11-22 (vol 1), solution to Exercise 3.3.3 (a): First number in first equation should be 453, not 553.
• Page 11-23 (vol 1), solution to Exercise 3.3.3 (b): First number in first equation should be 453, not 553.
• Page 11-28 (vol 1), solution to Exercise 3.9.1: second line, "greater than 1 divided..."