ERRATA for Introduction to the Theory of Computation,
Second Edition

Ordered by date of discovery. Also available in order of appearance in the text.
Last updated 1/10/12. Don't forget to reload this page to get the most current version.
Send additional errors and comments to: sipserbook@math.mit.edu
Items marked [2] have been fixed in the 2nd and later printings.

Page 348, Definition 9.17, first line. [2]
Add a before device.
Reported 3/5/05 by Kurt L. Van Etten.
Page 65, Example 1.53, item 4. [2]
Change (01+)* to 1*(01+)*.
Reported 3/21/05 by Kurt L. Van Etten.
Page 92, Problem 1.62. [2]
Change an DFA to a DFA.
Reported 3/21/05 by Kurt L. Van Etten.
Erratum corrected 11/3/05 by Evangelos Georgiadis of MIT.

Page 92, Problem 1.64(d). [2]
Change both occurrences of (b) to (c).
Reported 3/21/05 by Kurt L. Van Etten.
Page 125, lines 5 and 6 from bottom. [2]
Change both occurrences of |V| + 2 to |V| + 1.
Reported 4/5/05 by Kurt L. Van Etten.
Page 132, Solution 2.7(a), lines 3 and 4. [2]
Change both occurrences of a a to an a.
Reported 4/5/05 by Kurt L. Van Etten.
Page 223, second line from bottom. [2]
Change if string to if a string.
Reported 4/18/05 by Kurt L. Van Etten.
Page 370, Proof of Lemma 10.5. [2]
A slight adjustment in the proof is needed because ε is an upper bound on the error probability, not the actual value. Additionally there is a variable conflict between the input w and the number of wrong results.
Reported 5/9/05 by Nancy Lynch of MIT.
Page 93, Solution to 1.4b, first line. [2]
Change exactly three to exactly two.
Reported 6/7/05 by Gregory Roberts of North Carolina State University.
Page 83, Exercise 1.4e, first line. [2]
Part (e) is the same as part (c) so substitute as follows:
Part e. {w| w starts with an a and has at most one b}.
Reported 6/7/05 by Suzanne Balik of North Carolina State University.
Page 305, paragraph following Algorithm N. [2]
Change accepts, accept, and accepted (twice) to rejects, reject, and rejected.
Change ALLNFA to \overline{ALLNFA}.
Add sentence at end of paragraph: Note that N accepts improperly formed inputs, too.
Reported 6/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 305, second paragraph following Algorithm N. [2]
Change markers, to markers and the repeat loop counter,
Reported 6/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 328, paragraph following Algorithm M. [2]
Add sentence at the beginning of the paragraph: Note that M accepts improperly formed inputs, too.
Reported 6/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 125, second line of second paragraph. [2]
Change b|V| + 1 to b|V| + 1 > b|V| + 1.
Reported 6/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 376, sixth line of second paragraph. [2]
Change another to an.
Reported 6/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 131, Problems 2.32, 2.33, and 2.42. [2]
In 2.32, remove the star indicating a difficult problem.
In 2.33, add a star to indicate this problem is difficult. Additionally, change i ≠ kj for every to i = kj for some.
In 2.42, add a star to indicate this problem is difficult.
Found 6/13/05.
Page 132, Solution 2.7(a), lines 2 and 6. [2]
Change count is 0 to count is positive.
Change if b is on top to if a is on top.
Reported 7/14/05 by Matthew Kane of Indiana University.
Erratum corrected 7/15/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 305, Stage 4 of description of N. [2]
Change Stage 4 to read as follows:
Accept if Stages 2 and 3 reveal some string that M rejects, that is, if at some point none of the markers lie on accept states of M. Otherwise, reject.
Reported 7/15/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 172, stage 1 of Turing machine MG.
Add a period at the end of the line.
Reported 9/15/05 by Zhidian Du of Clemson University.
Page 228, fifth text line from bottom.
In the line which begins with where every, change bi to bj.
Reported 10/8/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 93, Solution to 1.2.
Change M2 to M1 and M3 to M2.
Reported 10/17/05 by Thomas Watson of the University of Wisconsin-Madison.
Page 213, Problem 5.27.
Change Q × ∑ to Q × (∑ ∪ {#} ).
Reported 10/17/05 by Evangelos Georgiadis of MIT.
Erratum corrected 10/27/05 by Cem Say of Boğaziçi University, Istanbul, Turkey
and 1/25/06 by David Wittenberg of Brandeis University.

Page 371, fifth and sixth line before Theorem 10.6.
Exchange Zp+ and Zp.
Reported 10/27/05 by Cem Say of Boğaziçi University, Istanbul, Turkey
and 11/9/05 by Thomas Watson of the University of Wisconsin-Madison.

Page 281, formula after third paragraph.
Change 1 < i ≤ nk to 1 ≤ i < nk and add a period following the formula.
Reported 10/20/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Erratum corrected 11/3/05 by Evangelos Georgiadis of MIT
and 11/6/05 by Peter Fejer at the University of Massachusetts, Boston
and 11/19/05 by John Sieg at the University of Massachusetts, Lowell
and 10/13/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.

Page 210, twelfth line from bottom.
In the first line of algorithm G, Change The input is to On input.
Reported 10/25/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 285, second line.
Change variables to variable.
Reported 10/25/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 222, first line of proof of Theorem 6.5.
Change purposes to purpose.
Reported 10/21/05 by Tamir Tassa of the Open University of Israel.
Page 329, Problem 8.5.
Change intersection to concatenation.
Reported 10/21/05 by Tamir Tassa of the Open University of Israel.
Page 267, last line.
Add a period after 5-clique.
Reported 10/30/05 by Evangelos Georgiadis of MIT.
Page 160, second line of Exercise 3.7.
Change The input is a polynomial p to On input ‹p›, where p is a polynomial.
Reported 11/3/05 by Evangelos Georgiadis of MIT.
Erratum corrected 11/30/05 by Andreas Guelzow of Concordia University
and 4/25/06 by Lewis Collier of the University of Rhode Island.

Page 305, third line.
Change a NFA to an NFA.
Reported 11/3/05 by Evangelos Georgiadis of MIT.
Page 180, second line after Figure 4.19.
Change 4.18 to 4.19.
Reported 11/3/05 by Jesse Tjang of the Technical University of Delft, The Netherlands.
Page 98, third and fourth line of solution to 1.55 part d.
Replace the sentence beginning If s is generated by 0*1+0+1* ...
with the sentences If s is generated by 0*1+0+1* and s begins either 0 or 11, write s = xyz where x = &epsilon, y is the first symbol and z is the remainder of s. If s is generated by 0*1+0+1* and s begins 10, write s = xyz where x = 10, y is the next symbol and z is the remainder of s.
Reported 11/6/05 by Peter Fejer of the University of Massachusetts, Boston.
Pages 295 and 298, Problems 7.13, 7.30 and 7.35.
The period should be placed before the right parenthesis, not after.
Reported 11/9/05 by Evangelos Georgiadis of MIT.
Page 395, line before Phase 1.
Change either fail to that fails.
Reported 11/9/05 by Thomas Watson of the University of Wisconsin-Madison.
Page 98, third line of solution to 1.55.
Change onto to into.
Reported 11/9/05 by Thomas Watson of the University of Wisconsin-Madison.
Page 298, Problem 7.32.
Change TM to NTM.
Reported 11/11/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 92, Problem 1.64 part b.
Change Show that, to Show,.
Reported 11/21/05 by Thomas Watson of the University of Wisconsin-Madison.
Page 128, third line of Exercise 2.1.
The + should be in the typewriter font.
Reported 11/23/05 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 145, fourth line of Example 3.9.
Change q14 to q8.
Reported 11/18/05 by Promita Chakraborty of Louisiana State University, Baton Rouge.
Page 415, Reference 4.
The new URL for this paper is http://www.cse.iitk.ac.in/users/manindra/algebra/primality_original.pdf .
An updated version is at http://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf .
Reported 11/19/05 by John Sieg at the University of Massachusetts, Lowell.
Erratum updated 2/21/07 by Santhosh Samarthyam of Anna University, India.

Page 298, second line of Problem 7.31.
Change to .
Reported 11/24/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 284, fourth line from bottom of proof idea.
Change vertex gadget to variable gadget.
Reported 11/26/05 by Victor Bandur of McMaster University.
Erratum corrected 11/27/05 by Ryan Lortie of McMaster University.

Page 301, seventh line of Solution 7.22.
Change k > 2m to k > m/2.
Reported 11/26/05 by Victor Bandur of McMaster University.
Erratum corrected 11/27/05 by Ryan Lortie of McMaster University.

Page 318, Figure 8.15.
The topmost x should be x1.
Remove the spurious 1 that is near the node across from x3.
Reported 11/27/05 by Evangelos Georgiadis of MIT.
Page 421, eighth and ninth lines in the left column.
Remove the eighth line and add 4, before 328 in the ninth line.
Reported 11/27/05 by Evangelos Georgiadis of MIT.
Page 301, first line of Solution 7.15.
Change second A to A*.
Reported 11/29/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 65, fifth line before Example 1.53.
Change that that to that.
Reported 11/30/05 by Evangelos Georgiadis of MIT.
Page 370, second to last line of the proof of Lemma 10.5.
Change log2 to -log2.
Reported 12/1/05 by Cem Say of Boğaziçi University, Istanbul, Turkey
and 12/8/05 by Paul Beame of the University of Washington at Seattle.

Page 344, fifth line.
Add a period at the end of the line.
Reported 12/3/05 by Evangelos Georgiadis of MIT.
Page 412, second line of Problem 10.21.
Add a period at the end of the line.
Reported 12/3/05 by Evangelos Georgiadis of MIT.
Page 330, sixth line from bottom.
Remove the comma after G,c,m,h.
Reported 12/5/05 by Evangelos Georgiadis of MIT.
Erratum corrected 12/16/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 93, second line of Problem 1.65.
Change a NFA to an NFA.
Reported 12/6/05 by Evangelos Georgiadis of MIT.
Page 117, last line.
Add a period at the end of the line.
Reported 12/6/05 by Evangelos Georgiadis of MIT.
Page 38, first line of Example 1.11.
Add a period at the end of the line.
Reported 12/6/05 by Evangelos Georgiadis of MIT.
Page 307, ninth from last line.
Add a period after 1,2,3,....
Reported 12/6/05 by Evangelos Georgiadis of MIT.
Page 307, last line.
The period should be placed before the right parenthesis, not after.
Reported 12/11/05 by Evangelos Georgiadis of MIT.
Page 332, second line of Problem 8.26.
Place a line over BIPARTITE so it indicates the complementary language.
Reported 12/8/05 by Paul Beame of the University of Washington at Seattle
and 12/15/05 by Kevin Matulef of MIT.

Page 363, fifth line of Solution to Exercise 9.2.
Change the second and third occurrences of big O to small o.
Reported 12/16/05 by Evangelos Georgiadis of MIT.
Page 163, fifth and seventh lines of Solution 3.16(a).
Change both instances of accept to accepts.

Found 12/17/05.
Page 383, fifth line.
Change On input φ: to On input ‹φ›:.
Reported 12/17/05 by Evangelos Georgiadis of MIT.
Page 125, third and fourth lines of the third paragraph.
Change so it must contain a path from the root to a leaf of length to so its longest path from the root to a leaf has length.
Reported 12/7/05 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Erratum corrected 8/15/07 by Atsushi Fujioka of NTT Laboratories.

Page 139, the two lines preceding Figure 3.2.
Remove in stages 2 and 3.
Reported 1/4/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 145, first line of the last paragraph.
Change q6 to q7.
Reported 1/9/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 281, eighth line from bottom.
Change the the to the.
Reported 1/20/06 by Yongwook Kim of MIT.
Page 416, reference 32.
Change 229 to 299.
Reported 1/20/06 by Yongwook Kim of MIT.
Page 162, last sentence of solution 3.3.
Change D to D2.
Reported 1/23/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 181, first line.
Change 4.19 to 4.20.
Reported 1/24/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 83, problem 1.4b.
Remove the first at.
Reported 1/25/06 by Vladimir Lifschitz of the University of Texas at Austin.
Erratum corrected 10/27/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 129, first line of exercise 2.17.
Change Problem to Exercise.
Reported 2/1/06 by David Wittenberg of Brandeis University.
Page 96, first sentence of solution 1.40.
Add (a) to the beginning of the line. Change an NFA to a DFA.
In 2., change δ(r,a) to {δ(r,a)}.
Reported 2/15/06 by Barbara Kaiser of Gustavus Adolphus College.
Erratum corrected 3/1/06 and 4/17/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 134, fourth line from bottom.
Add , equal numbers of 0s and 1s, and three times as many b's as a's to the end of the sentence beginning Strings in C.
Reported 2/20/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 233, last line before section 6.4.
Change Problem to Exercise.
Reported 2/20/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 281, last line of second paragraph.
Change Exercise to Problem.
Reported 2/20/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 331, last line of problem 8.22.
The period should be placed before the right parenthesis, not after.
Reported 2/20/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 413, second line from last line.
Change member to members.
Reported 2/20/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 22, proof of 0.24, fourth line.
Change that integer. to the largest such integer..
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 81, footnote.
Remove the footnote, it is redundant.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 95, solution to 1.11, second line.
Change that accepts to that recognizes.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 96, solution to 1.29c, third line.
Change A_1 to A_3.
Reported 2/24/06 by Christos Kapoutsis of MIT
and 4/18/05 by Evangelos Georgiadis of MIT.
Erratum corrected 4/24/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 109, third line.
Remove which follows from end of sentence.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 132, solution to 2.3d,e.
Change G to L(G), both occurrences.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 134, solution to 2.30c, ninth line.
Remove only and change nonempty to empty, both occurrences.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Erratum corrected 6/1/07 by Kayla Jacobs of MIT.

Page 184, problem 4.25.
The 1 and 0 should be in the typewriter font.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 196, second line.
Change computation for to computation history for.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 228, eighth line of proof.
Change Σi* to Σi.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Erratum corrected 4/24/05 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 228, second and third lines from bottom.
Change leading bits of z to leading bits of ai+1.
Change b1 through bi to a1 through ai.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 229, lemma 6.14, second line.
Change language of Th(N,+,×) to language of (N,+,×).
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 244, solution to 6.12, second and third lines.
Change language of Th(N,<) to language of (N,<).
Change language of Th(N,+) to language of (N,+).
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 263, stage 8 of algorithm D.
Change comma to period.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 281, fourth line.
Add or a state symbol after the boundary symbol #.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 298, sixth line.
Remove the period after the parenthesis.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 300, last sentence of problem 7.45.
Add Z is in DP and before every language.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 300, first line of problem 7.46.
Change the largest to a largest.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 301, second from last line of solution 7.22.
Change kk to k.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 314, fifth line.
Change player E to Player E.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 315, Theorem 8.11.
Add period at end of line.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 320, sixth and ninth lines.
Change φ to ψ, both occurrences.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 362, problem 9.16.
Add period at end of line.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 362, problem 9.18.
Change REG↑ to REX↑, both occurrences.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 362, problem 9.21.
Second line: Change k-oracle to k-query oracle.
Fourth line: Change k-oracle A to k-query A-oracle.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 386, first line after Definition 10.27.
Change Σi alternating to Σi-alternating.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 391, seventh line before Claim 10.31.
Change verifier to Verifier.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 391, fifth line before Claim 10.31.
Change wj+1 to mj+1.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 392, fifth line.
Remove stray period.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 396, first line.
Change accepts to recognizes.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 397, second displayed equation in proof idea.
Change the period after otherwise to a comma.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 398, 14th line.
Change If S is to If Si+1 is, both occurrances.
Reported 2/24/06 by Christos Kapoutsis of MIT. Erratum corrected 11/26/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 398, last two lines.
Change S to Si.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 399, lines 2 and 4.
Change S to Si.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 400, second paragraph third line.
Change make to makes.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 403, third line of proof of Theorem 10.40.
Change Ci to Cn.
Reported 2/24/06 by Christos Kapoutsis of MIT.
Erratum corrected 11/6/06 by Rodney Bliss of Brigham Young University.

Page 408, Definition 10.45.
Sixth line and second from last line: Change on input w to on input f(w).
Last line: Change Pr to PrM,w.

Reported 2/24/06 by Christos Kapoutsis of MIT.
Erratum corrected 4/26/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 410, Definition 10.47, fourth from last line.
Change Pr to PrE,w.

Reported 2/24/06 by Christos Kapoutsis of MIT.
Erratum corrected 10/4/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 412 and 413, Problem 10.16 and solution.
Change Zp to Zp+ in problem and twice in last paragraph of solution.

Reported 2/24/06 by Christos Kapoutsis of MIT.
Page 189, first line of proof of Theorem 5.1 and second line of proof idea of Theorem 5.2.
Change both purposes to purpose.
Reported 2/28/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 215, last line of solution to 5.28.
Change ‹M,w› to ‹Mw.
Reported 3/1/06 by Joseph Wilson of the University of Florida.
Page 214, solution to 5.8.
We also change the first domino (as shown in Figure 5.16 on page 201 in the standard solution) to [# \over ##q0w1w2...wn].
Reported 3/8/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 268, second line of the proof of Theorem 7.24.
Add a period at the end of the sentence.
Reported 3/12/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 186, fifth line from end of solution to 4.21.
Change states to state. Add or if two different accept states of N have red pebbles on them. to the end of that sentence.
Reported 3/29/06 by Thomas Watson of the University of Wisconsin-Madison.
Page 84, problem 1.6, first line.
Add a period at the end of the line.
Reported 4/18/06 by Evangelos Georgiadis of MIT.
Page 212, problem 5.15, last line.
Change is to Roman font.
Reported 4/18/06 by Evangelos Georgiadis of MIT.
Page 263, stage 1 of algorithm D.
Change to For w = ε, if S→ε is a rule, accept, else reject.
Reported 4/18/06 by Marvin Nakayama of the New Jersey Institute of Technology.
Page 199, end of second paragraph.
Add a period after the displayed set of dominos.
Reported 5/26/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 347, last paragraph.
Change both occurrences of R to R2.
Reported 8/21/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 184, problem 4.20.
Change {R| to {‹R›|.
Reported 10/2/06 by Hjalmtyr Hafsteinsson of the University of Iceland.
Page 267, definition 7.21.
Change a O(t(n)) to an O(t(n)).
Reported 10/13/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 360, 18th line from bottom.
In the sentence beginning Similarly, add is before equivalent.
Reported 10/13/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 377-378.
Figure 10.12 (a), put the labels, 0 and 1, of the two output nodes to be in the regular (not typewriter) font, and on page 378, the 7th line from the top and the 18th line from the bottom, put the 1 in the regular font.
Reported 10/13/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page viii, seventh line from bottom.
Capitalize consistently with other chapter entries.
Reported 10/13/06 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 162, seventh line of solution to 3.3.
Change Stage 5 to Stage 3.5.
Reported 11/8/06 by Sara Miner More of McDaniel College.
Page 166, sixth line of first paragraph.
Change CFL to CFG.
Reported 11/15/06 by Elazar Birnbaum of the Open University, Israel.
Page 395, fourth line.
Change when the ai's to when a1 thru ai.
Reported 11/24/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 395, Phases 1, 2, and i.
In the third line of each of these phases, replace the words evaluate ... checks with the word check.
Reported 12/9/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 398, Phase i.
In the fifth line of this phases, replace the words evaluate ... checks with the word check.
Reported 12/9/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 328, paragraph following Algorithm M.
Add m, before u, v,.
Reported 4/13/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 354, fourth line of Example 9.29.
Change 2-parity to parity2.
Reported 4/13/06 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Pages 341 and 342, proof of Theorem 9.10.
In stage 2 of D, change 3, 4, and 5 to 4 and 5.
In the beginning of the fifth paragraph on page 342, change stages 3 and 4 to stage 4.
Reported 4/14/07 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 213, problem 5.33.
Move this problem to Chapter 6.
Reported 4/25/07 by Paul Beame of the University of Washington at Seattle.
Page 358, second line before row of dots.
Change qaccept0 to qaccept, where "" is the blank symbol.
Reported 11/3/05 by Thomas Watson of the University of Wisconsin-Madison,
and 6/14/07 by Goutam Biswas of IIT Kharagpur.
Erratum corrected 10/24/08 by Peter Drake of Lewis & Clark College.

Page 326, second line before Section 8.6.
Change implies to imply.
Reported 8/15/07 by Atsushi Fujioka of NTT Laboratories.
Page 132, Solution 2.8 (2.9 in Internation Edition).
Use the following solution instead:
Here is one leftmost derivation:
SENTENCE› ⇒
NOUN-PHRASE› ‹VERB-PHRASE› ⇒
CMPLX-NOUN› ‹VERB-PHRASE› ⇒
ARTICLE› ‹NOUN› ‹VERB-PHRASE› ⇒
The ‹NOUN› ‹VERB-PHRASE› ⇒
The girl ‹VERB-PHRASE› ⇒
The girl ‹CMPLX-VERB› ‹PREP-PHRASE› ⇒
The girl ‹VERB› ‹NOUN-PHRASE› ‹PREP-PHRASE› ⇒
The girl touches ‹NOUN-PHRASE› ‹PREP-PHRASE› ⇒
The girl touches ‹CMPLX-NOUN› ‹PREP-PHRASE› ⇒
The girl touches ‹ARTICLE› ‹NOUN› ‹PREP-PHRASE› ⇒
The girl touches the ‹NOUN› ‹PREP-PHRASE› ⇒
The girl touches the boy ‹PREP-PHRASE› ⇒
The girl touches the boy ‹PREP› ‹CMPLX-NOUN› ⇒
The girl touches the boy with ‹CMPLX-NOUN› ⇒
The girl touches the boy with ‹ARTICLE› ‹NOUN› ⇒
The girl touches the boy with the ‹NOUN› ⇒
The girl touches the boy with the flower

Here is another leftmost derivation:
SENTENCE› ⇒
NOUN-PHRASE› ‹VERB-PHRASE› ⇒
CMPLX-NOUN› ‹VERB-PHRASE› ⇒
ARTICLE› ‹NOUN› ‹VERB-PHRASE› ⇒
The ‹NOUN› ‹VERB-PHRASE› ⇒
The girl ‹VERB-PHRASE› ⇒
The girl ‹CMPLX-VERB› ⇒
The girl ‹VERB› ‹NOUN-PHRASE› ⇒
The girl touches ‹NOUN-PHRASE› ⇒
The girl touches ‹CMPLX-NOUN› ‹PREP-PHRASE› ⇒
The girl touches ‹ARTICLE› ‹NOUN› ‹PREP-PHRASE› ⇒
The girl touches the ‹NOUN› ‹PREP-PHRASE› ⇒
The girl touches the boy ‹PREP-PHRASE› ⇒
The girl touches the boy ‹PREP› ‹CMPLX-NOUN› ⇒
The girl touches the boy with ‹CMPLX-NOUN› ⇒
The girl touches the boy with ‹ARTICLE› ‹NOUN› ⇒
The girl touches the boy with the ‹NOUN› ⇒
The girl touches the boy with the flower
Reported 11/21/05 by Thomas Watson of the University of Wisconsin-Madison
and 11/30/05 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences
and 8/15/07 by Atsushi Fujioka of NTT Laboratories.
Erratum corrected 6/1/07 by Kayla Jacobs of MIT
and 8/21/10 by Benjamin Bing-Yi Wang of the Society of Actuaries.

Page 413, second line of second paragraph of Solution 10.16.
Change da mod p to (da mod p)p-1.
Reported 7/17/07 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 228, second to last line.
Add using ε transitions after branching.
Reported 10/20/07 by Flemming Jensen of Aalborg Universitet, Denmark.
Page 400, Definition 10.34.
Change C1, C2 to C0, C1.
Reported 10/24/07 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 133, first line of last paragraph.
Change xv2wy2z to uv2xy2z.
Reported 10/26/07 by Xiangdong Liang of MIT.
Page 97, last line of Solution 1.46.
Change both occurrences of xyz to s'.
Reported 11/4/07 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 117, ninth line from bottom.
The dollar sign should be in the typewriter font.
Reported 1/09/08 by Hiroki Ueda of NTT Laboratories.
Page 66, fourth line from end of subsection.
The numbers +7. and -.01 should be in the typewriter font.
Reported 1/23/08 by Rajagopal Nagarajan of the University of Warwick.
Page 197, fourth line of proof of Theorem 5.13.
Remove have to after but.
Reported 2/11/08 by Peter Dillinger of Northeastern University.
Page 362, Problem 9.21 part b.
Change P to NP.
Reported 2/26/08 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 82, first line of Example 1.76 and next to last line of Example 1.77.
The 1 at the end of both lines should be in the typewriter font.
Reported 3/18/08 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 183, both lines of Exercise 4.10.
Both PDA subscripts should be in the san-serif font.
Reported 3/18/08 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 225, sixth line.
Change Rl to Rk.
Reported 3/18/08 by Hans-Rudolf Metz of the Fachhochschule Gießen-Friedberg, University of Applied Sciences.
Page 116, second line of proof of Lemma 2.21.
Change ql to qstart.
Reported 4/17/08 by Kishan Yerubandi of the University of Connecticut.
Page 363, Solution 9.15.
In lines 5 and 6, change
second test runs in time poly(|w|) ... is in polynomial time. to
second test runs in time poly(|s|), and because |s| ≤ |w|, the test runs in time poly(|w|).
In the last line, change tests to actions.
Reported 5/5/08 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 125, line 11 from bottom of proof.
Change both v and y are not ε to v and y are not both ε.
Reported 5/30/08 by Chinawat Isradisaikul of the University of Pennsylvania.
Erratum corrected 10/29/08 by Peter Drake of Lewis & Clark College
and 10/15/08 by Alexis Maciel of Clarkson University
and 4/17/09 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 96, solution to 1.29c, third line of second paragraph.
Change |y| > 1 to |y| > 0.
Reported 9/28/08 by Mark Testa of the Stevens Institute of Technology.
Erratum corrected 10/29/08 by Peter Drake of Lewis & Clark College
and 4/17/09 by Cem Say of Boğaziçi University, Istanbul, Turkey.

Page 87, Problem 1.22.
Change the last sentence in the first paragraph to For simplicity, assume that the alphabet for C is {a,b,#,/}.
Reported 1/30/09 by Jerry Grossman of Oakland University.
Page 63, last sentence.
Following standard convention, change AWK, GREP and PERL to lowercase, awk, grep and Perl.
Reported 4/18/05 by Jonathan Deber of the University of Toronto,
and 11/24/06 by Matt Diephouse of the University of Michigan,
and 1/15/09 by Rob Bittner of Oakland University.
Erratum corrected 11/28/10 by John Trammell of the University of Minnesota.

Page 184, Problem 4.27.
Add G is a CFG and before L(G).
Reported 3/20/09 by Phanisekhar Botlaguduru Venkata of the University of Florida.
Page 185, third line of solution to problem 4.13.
Change decides A to decides the language of this problem.
Reported 4/3/09 by Arthur Hall III of the University of Kentucky.
Page 323, fifth line before section 8.5.
Change page 305 to page 306.
Reported 5/15/09 by Cem Say of Boğaziçi University, Istanbul, Turkey.
Page 416, Reference 18.
Change ap-1p to ap-1 ≡ 1 mod p.
Reported 8/8/09 by Eleazar Leal of the Universidad Simón Bolívar, Caracas, Venzuela.
Page 231, Proof of Theorem 6.17, Stage 4 of Algorithm S.
Remove the sentence If it halts and rejects, reject.
That situation can never arise.
Reported 9/8/09 by Mladen Mikša of the University of Zagreb, Croatia.
Page 90, Problem 1.49, parts a and b.
The 1 specifying the alphabet should be in the typewriter font, both times.
Found 9/14/09.
Page 280, Figure 7.40b.
Change the lower row from q1 a a to q2 a a.
[change is for added clarity, not because the text is incorrect]
Reported 12/26/10 by Cheng-Chung Li of the National Taiwan University, Taiwan.
Page 95, solution to 1.11, end of fifth line.
Change Σ to Σε.
Reported 12/31/10 by Simon Dexter of Brooklyn College of the City University of New York.
Page 97, solution to 1.44, seventh line.
Change Σ to Σε.
Reported 12/31/10 by Simon Dexter of the City University of New York.
Page 85, Exercise 1.15, item d.
Change Q to Q1.
Reported 2/11/11 by Simon Dexter of the City University of New York.
Page 172, second from last line.
Hyphenate context free.
Reported 5/9/11 by Edwin Sze Lun Khoo of MIT.
Page 125, second line. [2]
Add the sentence If b=1 then reset b so that b=2. before the words In any.
Reported 10/15/08 by Alexis Maciel of Clarkson University, and 6/19/11 by Jeroen Vaelen of Hasselt University, Belguim.
Page 101, last word of first paragraph.
The period in "or." should be outside the quotes.
Reported 9/15/11 by Jonas Nyrup of the University of Southern Denmark.