To accommodate readers of all past versions, we locate the known errors in two ways.
First, we generally give the section, paragraph, and sentence number of the sentence containing the error. In the manuscript, the first paragraph of every section is not indented; all other paragraphs are indented. We count paragraphs from 1. Text following a display (e.g., a formula or itemization) is not counted as a new paragraph unless it is indented. Sentences end with a period and are counted from 1.
The second error locator is the page number in the Kluwer hardback edition followed by the line number. Generally, each page of the Kluwer edition begins with a header containing the page number, the book or chapter title, and a horizontal line spanning the page. We count all non-blank lines below the horizontal line (i.e., we do not count the header itself and we do count all subsequent non-blank lines, whether they are part of a section title, display, or ordinary text). The hardback page and line numbers may not exactly correspond to those in the paperback versions.
[SGC for 86 FIXNUM pages .. ... GC finished]
(or p1 p2 ...)
<==>
(if p1 t (or p2 ...))
, where (or p1)
abbreviates p1
.
should read
(or p1 p2 ...)
<==>
(if p1 p1 (or p2 ...))
, where (or p1)
abbreviates p1
.
{0}
, {nil}
, and {t}
''
should be ``{0}
, {nil}
, and {t}
.'' That is, the sentence should
end with a period.
"compile"
to "COMPILE"
.
There are three places where changes have to be made.
(1) Paragraph 2, sentence 3; Kluwer page 203, line 35: the command that begins
(defpkg "compile"
should be
(defpkg "COMPILE"
(2) Paragraph 3, sentence 4; Kluwer page 204, line 8: the phrase
defpkg
defines the new symbol package compile
should be
defpkg
defines the new symbol package COMPILE
(3) Paragraph 3, after sentence 4; Kluwer page 204, line 11: the command
(in-package "compile")
should be
(in-package "COMPILE")
:trans1
to print ...''
mergesort
but instead is an observation about perm
,
how-many
, and quantification. The exercise should have been:
(perm a b)
<->
(ALL e (equal (how-many e a)
(how-many e b)))
Here, by ALL
we mean the universal quantifier conventionally written
with an upside down A. The universal
quantifier in the above theorem is crucial! The similar looking ACL2
formula
(iff (perm a b)
(equal (how-many e a)
(how-many e b)))
is not a theorem. Exhibit a counterexample.