(* = Prentice-Hall not yet informed)
Errata for book itself:
Page xvi, end of last sentence: change "nps-cs.arpa" to "cs.nps.navy.mil".
Page 12, second paragraph of section 2.7: change "circle" to "oval" everywhere it occurs.
Page 13, 5th line from bottom: replace "Here 'to be' is used" with "Here forms of the verb "to be" are used"
Page 31, figure 3-3: arrow missing from "X = tom, Y = dick" to "Z = harry"
Page 44, 19th line: change "part_of" to "a_kind_of" so the whole line should read "color_enterprise(C) :- a_kind_of(enterprise,X), color(X,C)."
Page 77, first line: change "1" (numeral one) to "0" (numeral zero).
Page 87, section 5.7, sixth line: change the second right bracket to a right parenthesis, so it reads:
subset([X|L1],L2) :- member(X,L2), subset(L1,L2).
Page 103, seventh and sixth lines from the end of section 6.2: change "old" to "new", and change "new" to "old" in the sentence "It is redundant if the old rule always succeeds whenever the new rule succeeds."
Page 105, figure 6-2, step 7, end of line: replace "c." with "c(2)." (note the period must remain on the end)
(*) Page 107, Figure 6-4: "R6" column should read top to bottom in order: "fails, -, -, -, -" rather than "fails, fails, fails, fails, -".
Page 129, 7th line from bottom: insert an apostrophe just before "Are"
Page 132, 3rd line, fourth word: "emdry" should be just "dry"
(*) Page 140, insert before 9th line sentence beginning "When forward chaining..." : "This program does not delete redundant rules like the algorithm in section 6.2."
(*) Page 149, indented material starting "forward :- done.": replace all but the first three lines, by the following:
pursuit(F) :- rules(F,Rlist), append(RlistF,[[L,R]|RlistB],Rlist), rule_pursuit(F,L,R,RlistF,RlistB). rule_pursuit(F,L,R,RlistF,RlistB) :- member(F,R), delete(F,R,Rnew), retract(rules(F,Oldrules)), append(RlistF,RlistB,NewRlist), new_rule(F,L,Rnew,NewRlist). new_rule(F,L,[],Rlist) :- asserta(rules(F,Rlist)), not(fact(L)), asserta(fact(L)). new_rule(F,L,R,Rlist) :- not(empty_list(R)), asserta(rules(F,[[L,R]|Rlist])). empty_list([]). append([],L,L). append([X|L],L2,[X|L3]) :- append(L,L2,L3).
Page 188, 6th line from bottom: "battery" should be "lottery"
Page 196, Figure 9-3: the "remove screws" in the lower left should be "remove cables"
(*) Page 203, 19th line from bottom: change "certain" to "restricted"
Page 203, 11th line from bottom: change "A to S" to "S to A"
Page 203, 11th line from bottom: change "3" in "A to 3" to "A to E"
Page 221, second of the three groups of three indented lines: in all three cases the period must occur after the right parentheses, not before it; in the hyphen in "data-point" should be an underscore symbol.
(*) Page 265, Figure 11-1, 5th column of table: delete "?" after "visit"
Page 277, Figure 11-7, "Level 2" box on left, sixth line: delete right bracket on the end, just after the comma
Page 289, Figure 12-1: the "frame_name: memos to Ann" box should have a separate line with an arrow on it going to the box labeled "frame_name: memo", and this arrow cannot be combined with the one from frame_name: budget memos" to "frame_name: memo", which must have its own line with an arrow on it.
Page 321, line 14: insert "P and" before "all the expressions to the left".
Page 362, Figure 14-4: the small upper center triangle-like region that is cross-hatched should not be; it should be just have lines crossing it northwest to southeast, like the region to the left of it.
Page 363, problem 14-8: in fourth line, put parentheses around X and 1; in sixth line, put parentheses around N. In all cases, no space after the "p".
Page 383, 12th line from the bottom: delete "the" from "an included variable X, then that the expression".
Page 388, item 6, second line: delete "unbound" (so same word won't occur twice in succession)
Page 390, sixth line from the bottom: change "lattice or directed acycylic graph" to "directed acyclic graph and usually also a lattice".
Page 407, problem 2-6, 10th line: ship should be ship_info
Page 409, fifth line: the "4-5" is on the wrong line: it should be on the left side of the sixth line in front of the word "No". The rest of the fifth line is correct, however; the "(b)" should be the first thing on the line.
Page 409, problem 4-7, part (e), second line: change "Dick" to "Sue"
Page 415, 10th line of text from bottom: "L" should be "Z", so the line should read "?- mystery([a,b,c,d],Z)." now.
Page 416, problem 5-22, 6th line: change "not(member(X,L),L)" to "not(member(X,L))".
Page 417, problem 6-1(a), 6th and 7th line from top: change the sentence "This in turn matches an expression in R2." to "This doesn't match anything (R2 is being ignored)."
Page 417, problem 6-5(b), item "1": replace by: "1. The first and third rules fail because they mention at least one thing that doesn't match a fact, and the second rule is skipped."
Page 418, problem 6-5(b), item "5": replace by: "5. The first rule again fails, and the second rule is again skipped."
Errata for Instructors' Manual
Page 22: Add another arrow from "C" circle to the left side of the left most "R" box.
Page 26: The "part_of" arrows are backwards.
Page 96, line 3: delete duplicate "extra"
Page 96, line 9: change "rule" to "ruling"
Page 103: The point at (.3, .8) should be at (.2, .8).
Page 110: This figure is for Problem 12-7.