October 1997. Alberto Pettorossi and Maurizio Proietti Transformation of Logic Programs: Foundations and Techniques. JLP 1994, 19--20, 261--320. Thanks to Marianne Kalsbeek and Michael Leuschel. =================== ERRATA - CORRIGE. (page, line) (268,9) At page 267 we say that ``the variables of the clauses which are involved in each transformation rule are suitably renamed so that they do not have variables in common''. However, in order to make the application of rule R2 not ambiguous one should add at (268,9) the condition: 4. for i=1,...,n {A,H,F,G} have no variables in common with D_i (268,-13). [130, 131] --> [132, 133] (268,-11). [130] --> [132] (268,-4). with the set --> with (268,-2). in the head --> only in the head (273,17). [130] --> [132] (280,15). Finite Failure should be in small capitals as in point 3.2.4 at page 281. (284,5). one --> exactly one (285,-8). normal --> stratified normal (287,5). rules R1-R12 --> rules R1-R12 and R15, escluding rule R4. (288,2). definition introduction --> T&S-definition (288,3). replacment --> replacement (288,8). Add after line 8 the following: P_{init}: p <- q q <- q r <- q r <- not q (r is assumed to be an old predicate) (288,9). Add after line 9: (by T&S-folding of r <- q), (288,12). From line 12 until line 19: replace P_0 by P_{init}. (296,-8). Programs --> Goals ===================