This potential versatility is one of the features that has captured the imagination of computers scientists. Unfortunately, when implemented in a Prolog system, the resolution procedure inherits limitations that are not present in its theoretical form, and thus Prolog programs can fail to live up to their anticipated flexibility. To understand what we mean, first note that the diagram in Figure 6.25 displays only those resolutions that are pertinent to the task at hand. There are other directions that the resolution process could pursue. For example, the leftmost and rightmost clauses could be resolved to produce the resolvent Q. Thus, in addition to the statements describing the basic facts and rules involved in an application, a Prolog program often must contain additional statements whose purpose is to guide the resolution process in the correct direction. For this reason actual Prolog programs may not capture the multiplicity of purpose suggested by our previous example.
|