| OCR Text |
Show Narrowing: Let C be any term in {A0, 80, ... , Am,Bm}. For convenience let C A1 , 0 ~ i ~ m, such that A. - >[ k l A' .. I U, ,f1 I Then G' is a goal derived from G and is of the form Deletion Upon Unification: If Ai and Bi, 0 ~ i ~ m, are unifiable with the most general unifier ,, then G' is a goal derived from G, and is of the form ?- "(Ao = 8o' ... , Ai-1 = 8i-1' Ai+l = 8i+1' ... , Am = 8m). We denote by a pair <G', , > , the derived goal G' and the unifier it is associated with . 0 Definition 5-3: Let G be a goal of equalities. A successful computation from G is an N-derivation sequence (narrowing based derivations) which is a finite sequence of pairs <Go, ~:. o> , <G,, ~:., > ... , <GP, pp>' where G0 = G, fJo is the identity substitution, Gi+l is a goal derived from Gi and 1oi+l the unifier associated with this derivation, and GP is the empty goal. Let W be the set of variables in G. The computed answer with respect to the above sequence is a substitution restricted to W, and is defined as: 0 Example 6. We use the function append to illustrate the opera-tional semantics defined above. append([], L) = L append(AAX, Y) =A A append(X, Y), The goal generates a substitution {Y <- b }. Prolog programs may be "translated" into equations in a straightforward way. For example, the predicate append in Prolog 83 |