You are on page 1of 22

Logic Programming

Logic and
Logic Programming
J.A. Robinson
ogic has been around for a all mathematical concepts and for ery of the logical and set-theoretic

L
very long time [23]. It was the formulation of exact deductive paradoxes (such as Bertrand Rus-
already an old subject 23 reasoning about them. It seems to sell's set of all sets which are not
centuries ago, in Aristotle's be so. T h e principal feature of the members of themselves, which
day (384-322 BC). While predicate calculus is that it offers a therefore by definition both is, and
Aristotle was not its origina- precise characterization of the con- also is not, a member of itself); and
tor, despite a widespread impres- cept of proof. Its proofs, as well as its the huge reductionist work Prin-
sion to the contrary, he was cer- sentences and its other formal ex- cipia Mathematica by Bertrand Rus-
tainly its first important figure. He pressions, are mathematically de- sell and Alfred North Whitehead.
placed logic on sound systematic fined objects which are intended All of these developments had ei-
foundations, and it was a major not only to express ideas meaning- ther shown what could be done, or
course of study in his own univer- fully--that is, to be used as one uses had revealed what needed to be
sity in Athens. His lecture notes on a l a n g u a g e - - b u t also to be the sub- done, with the help of this new
logic can still be read today. No ject matter of mathematical analy- logic. But it was necessary first for
doubt he taught logic to the future sis. They are also capable of being mathematicians to master its tech-
Alexander the Great when he manipulated as the data objects of niques and to explore its scope and
served for a time as the young construction and recognition algo- its limits.
prince's personal tutor. In Alexan- rithms. Significant early steps toward
dria a generation later (about 300 At the end of the nineteenth cen- this end were taken by Leopold
B.C.), Euclid played a similar role tury, mathematics had reached a Lowenheim (1915), [29] and
in systematizing and teaching the stage in which it was more than Thoralf Skolem [45], who studied
geometry and number theory of ready to exploit Frege's powerful the symbolic "satisfiability" of for-
that era. Both Aristotle's logic and new instrument. Mathematicians mal expressions. They showed that
Euclid's geometry have endured were opening up new areas of re- sets of abstract logical conditions
and prospered. In some high search that demanded much could be proved consistent by being
schools and colleges, both are still deeper logical understanding and given specific interpretations con-
taught in a form similar to their far more careful handling of structed from the very symbolic
original one. The old logic, how- proofs, than had previously been expressions in which they are for-
ever, like the old geometry, has by required. Some of these were David mulated. Their work opened the
now evolved into a much more gen- Hiibert's abstract axiomatic recast- way for Kurt G6del (1930, [17]) and
eral and powerful form. ing of geometry and Giuseppe Jacques Herbrand (1930, [19]) to
Modern ('symbolic' or 'mathe- Peano's of arithmetic, as well as prove, in their doctoral disserta-
matical') logic dates back to 1879, Georg Cantor's intuitive explora- tions, the first versions of what is
when Frege published the first ver- tions of general set theory, espe- now called the completeness of the
sion of what today is known as the cially his elaboration of the dazzling predicate calculus. G6del and
predicate calculus [14]. This system theory o f transfinite ordinal and Herbrand both demonstrated that
provides a rich and comprehensive cardinal numbers. Others were the proof machinery of the predi-
notation, which Frege intended to Ernst Zermelo's axiomatic analysis cate calculus can provide a formal
be adequate for the expression of of set theory following the discov- proof for every logically true prop-

COMMUNICATIONS OF THE ACM/March 1992/Vol.35, No.3 41


Logic Programming
osition, and indeed they each gave p r o p e r t y of the predicate calculus. time British code-breaking project
a constructive m e t h o d for finding T h e r e had until then been an in- included his participation in the
the proof, given the proposition. tense search for a positive solution actual design, construction and
G6del's more famous achievement, to what Hilbert called the decision operation o f several electronic ma-
his discovery in 1931 of the amaz- problem--the problem to devise an chines o f this kind, and thus he
ing 'incompleteness theorems' algorithm for the predicate calculus must surely be reckoned as one o f
about formalizations o f arithmetic, which would correctly determine, the major pioneers in their early
has tended to overshadow this im- for any formal sentence B and any development.
p o r t a n t earlier work of his, which is set A o f formal sentences, whether
a result about p u r e logic, whereas or not B is a logical consequence of Logic on the Computer
his incompleteness results are about A. Church and T u r i n g found that A p a r t from this enormously impor-
certain applied logics (formal axio- despite the existence o f the p r o o f tant cryptographic intelligence
matic theories o f elementary num- procedure, which correctly recog- work and its crucial role in ballistic
ber theory, and similar systems) nizes (by constructing a p r o o f o f B computations and nuclear physics
and do not directly concern us from A) all cases where B is in fact a simulations, the war-time develop-
here. logical consequence o f A, there is m e n t o f electronic digital comput-
T h e completeness o f the predi- not and cannot be an algorithm ing technology had relatively little
cate calculus links the syntactic which can similarly correctly recog- impact on the outcome o f the war
p r o p e r t y of formal provability with nize all cases in which B is not a logi- itself. After the war, however, its
the conceptually quite different cal consequence o f A. T h e i r discov- r a p i d commercial and scientific
semantic p r o p e r t y of logical truth. ery bears directly on all attempts to exploitation quickly launched the
It assures us that each p r o p e r t y be- write t h e o r e m - p r o v i n g software. It c u r r e n t c o m p u t e r era. By 1950,
longs to exactly the same sentences. means that it is pointless to try to m u c h - i m p r o v e d versions o f some
Formal syntax and formal seman- p r o g r a m a c o m p u t e r to answer 'yes' o f the war-time general-purpose
tics are both needed, but for a time or 'no' correctly to every question o f electronic digital computers be-
the spotlight was on formal syntax, the form 'is this a logically true sen- came available to industry, univer-
and formal semantics had to wait tence?' T h e most that can be done is sities and research centers. By the
until Alfred Tarski (1934, [46]) in- to identify useful subclasses o f sen- mid-1950s it had become a p p a r e n t
troduced the first rigorous semanti- tences for which a decision proce- to many logicians that, at last, suffi-
cal theory for the predicate calcu- d u r e can be found. Many such sub- cient computing power was now at
lus, by precisely defining satisfi- classes are known. T h e y are called h a n d to s u p p o r t computational
ability, truth (in a given 'solvable subcases o f the decision experiments with the predicate cal-
interpretation), logical consequence, problem', but as far as I know none culus p r o o f procedure. It was j u s t a
and o t h e r related notions. Once it o f them have t u r n e d out to be o f matter o f p r o g r a m m i n g it and try-
was filled out by the concepts o f much practical interest. ing it on some real examples. Sev-
Tarski's semantics, the theory o f the W h e n World War II began in eral papers describing projects for
predicate calculus was no longer 1939 all the basic theoretical foun- doing this were given at a S u m m e r
unbalanced. Shortly afterward Ger- dations o f today's computational School in Logic held at Cornell
h a r d Gentzen (1936, [15]) further logic were in place. What was still University in 1957. O n e o f these
s h a r p e n e d the syntactical results on lacking was any practical way of ac- [37, pp. 74-76] was by A b r a h a m
provability by showing that if a sen- tually carrying out the vast symbolic Robinson, the logician who later
tence can be proved at all, then it computations called for by the surprised the mathematical estab-
can be proved in a 'direct' way, p r o o f procedure. Only the very lishment by applying logical 'non-
without the need to introduce any simplest o f examples could be done standard' model theory to legiti-
extraneous 'clever' concepts; those by hand. Already there were those, mize infinitesimals in the
occurring already in the sentence h o w e v e r - - T u r i n g himself for o n e - - foundations o f the integral and dif-
itself are always sufficient. who were making plans which ferential calculus. O t h e r published
All of these positive discoveries would eventually fill this gap. Tur- accounts o f results in the first wave
o f the 1920s and 1930s laid the ing's m e t h o d in negatively solving o f such experiments were [12, 16,
foundations on which today's pred- the decision problem had been to 35, 49]. T h e r e had also been, in
icate calculus t h e o r e m - p r o v i n g pro- design a highly theoretical, abstract 1956, a strange e x p e r i m e n t by [33]
grams, and thus logic p r o g r a m - version o f the m o d e r n stored- which attracted a lot o f attention at
ming have been built. p r o g r a m , general-purpose univer- the time. It has since been cited as a
Not all the great logical discover- sal digital c o m p u t e r (the 'universal milestone o f the early stages o f arti-
ies o f this period were positive. In T u r i n g machine'), and then to ficial intelligence research. T h e
1936 Alonzo Church and Alan prove that no p r o g r a m for it could authors designed their 'Logic The-
T u r i n g (see [6, 47]) i n d e p e n d e n t l y realize the decision procedure. His ory Machine' p r o g r a m to prove
discovered a fundamental negative subsequent leading role in the war- sentences o f the propositional cal-

42 March 1992/Voh35, N o . 3 / C O M M U N I C A T I O N S O F T H e=A C M


culus (not the full predicate calcu- efficient, and permit it to find based on larger-scale, more com-
lus), a very simple system of logic proofs of more interesting exam- plex, less local, and perhaps even
for which there had long existed ples before it runs into the expo- highly parallel, machine-oriented
well-known decision procedures. nential barrier. types of reasoning. In contemplat-
They nevertheless explicitly re- Some limited progress has been ing these possible new logics it was
jected the idea of using any algo- made in this direction by reorganiz- hoped their proofs would be
rithmic proof procedure, aiming, ing the predicate calculus in various shorter and (at the top level) sim-
instead, at making their program 'machine-oriented' versions. pler than those in the human-
behave 'heuristically' as it cast about oriented logics. Of course, in the
for a proof. This experiment was Evolution of Machine- interior of any individual inference,
intended to model human Oriented Logic there would presumably be a large
problem-solving behavior, taking The earliest versions of the predi- amount of hidden structural detail.
propositional calculus theorem- cate calculus proof procedure were The global search space would be
proving in particular as the all based on human-oriented reason- sparser, since it would need to con-
problem-solving task, rather than ing patterns--on types of inference tain only the top-level structure of
to program the computer to prove which reflected formally the kind proofs. The proof procedure itself
propositional calculus theorems of 'small' reasoning steps which would not need to be concerned
efficiently. humans find comfortable. A well- with the copious details of the con-
No sooner were the first compu- known example of this is the modus ceptual microstructure packaged
tational proof experiments carried ponens inference-scheme. In using within the inference steps.
out than the severe combinatorial modus ponens, one infers a conclu- This was the motivation behind
complexity of the full predicate cal- sion B from two premisses of the the introduction, in the early 1960s,
culus proof procedure come vividly form A and (if A then B). Such of a new logic, based on two highly
into view. T h e procedure is, after human-oriented inference-schemes machine-oriented reasoning pat-
all, essentially no more than a sys- are adapted to the limitations--and terns: unification, and the various
tematic exhaustive search through also to the strengths--of the kinds of resolution which incorpo-
an exponentially expanding space human information-processing sys- rate it.
of possible proofs. The early re- tem. They therefore tend to involve
searchers were brought face-to-face simple, local, small and perceptually clausal Logic
with the inexorable 'combinatorial immediate features of the state of the The 1960 paper [12] had already
explosion' caused by conducting reasoning. In particular, they do drawn attention to the simplified
the search on nontrivial examples. not demand the handling of more clausal predicate calculus in which
These first predicate calculus than one such bundle of features at every sentence is a clause. (A clause
proof-seeking programs may have a time--they are designed for serial is a sentence with a very simple
inspired, and perhaps even de- processing on a single processor. form: it is just a--possibly e m p t y - -
served, the disparaging label 'Brit- T h e massive parallelism in human disjunction of literals. A literal, in
ish Museum method' (see [33]), brain processes is well below the turn, is just the application of an
which was destined to be pinned on level of conscious awareness, and it unnegated or negated predicate to
any merely-generate-and-test pro- is of the essence of deductive rea- a suitable list of terms as argu-
cedure which blindly and undis- soning that the human reasoner be ments). In the same year, Dag
criminatingly tries all possible com- fully conscious of the 'epistemologi- Prawitz [34] had also forcefully
binations in the hope that a winning cal flow' of the proof and o f its step- advocated the use of the process
one, or even an acceptable one, may wise assembling of his or her assent which we now call unification. Along
eventually turn up. and understanding. In logics based with Stig Kanger (see [34,
The intrinsic exponential com- on such fine-grained serial infer- footnote 11], p. 170) he apparently
plexity of the predicate calculus ence patterns, proofs of interesting had independently rediscovered
proof procedure is to be expected, propositions will tend to be large unification in the late 1950s. He
because of the nature of the search assemblies of small steps. The apparently did not realize that it
space. There is evidently little one search space for the corresponding had already been introduced by
can do to avoid its consequences. proof procedures will accordingly Herbrand in his thesis of 1930 (al-
The only reasonable course is to tend to be dense and overcrowded beit only in a brief and rather ob-
look for ways to strengthen the with redundant alternatives at too scure passage). These were major
proof procedure as much as possi- low a level of detail. steps in the right direction. Neither
ble, by simplifying the forms of By about 1960 it had become the Davis-Putnam nor the Prawitz
expressions in the predicate calcu- clear that it might be necessary to improved proof procedures, how-
lus and by packing more power into abandon this natural predilection ever, went quite far enough in dis-
its inference rules. This might at for human-oriented inference pat- carding human-oriented inference
least make the search process more terns, and to look for new logics patterns, and their algorithms still

COMMUNI~LTIONSOF THE ACM/March 1992/Vol.35, No.3 43


Logic Progromming
became bogged down too early in encountered the idea o f unifica- based theorem-provers would be
their searches, to be useful. tion. After struggling with the woe- significantly better than any which
This was the situation when I ful combinatorial inefficiency o f the had been built previously.
first became interested in mechani- instantiation-based p r o c e d u r e used I wrote about these ideas at Ar-
cal t h e o r e m - p r o v i n g in late 1960. by Davis and Putnam (and by gonne at the end of the s u m m e r o f
F r o m 1961 to 1964 I worked each everybody else at that time; it goes 1963, and sent the p a p e r to the
s u m m e r as a visiting researcher at back to H e r b r a n d ' s so-called 'Prop- Journal of the A.C.M. (JACM). It
the A r g o n n e National Laboratory's erty B Method' developed in [19]). I then a p p a r e n t l y r e m a i n e d u n r e a d
Applied Mathematics Division, was immediately very impressed by on some referee's desk for more
which was then directed by William the significance of this idea. It is than a year. It required some urg-
F. Miller. It was Bill Miller who in essentially the idea underlying ing by the then editor o f the J o u r -
early 1961 first introduced me to H e r b r a n d ' s 'Property A Method' nal, Richard H a m m i n g o f Bell Lab-
the engineering side of predicate developed in the same thesis. Here oratories, before the referee finally
calculus t h e o r e m - p r o v i n g by point- again was still another p a p e r show- responded. T h e outcome was that
ing out to me the Davis and Putnam ing that even vaster improvements the paper, [39], was published only
paper. He invited me to spend the than those flowing from the Davis in J a n u a r y 1965. Meanwhile the
s u m m e r of 1961 at A r g o n n e as a and Putnam p a p e r were possible manuscript had been circulating. In
visiting researcher in his division, over the 'naive' predicate calculus 1964 at A r g o n n e , Larry Wos,
with the suggested assignment o f p r o o f procedure. Instead o f gener- George Robinson and Dan Carson
p r o g r a m m i n g the Davis-Putnam ating-and-testing successive instan- p r o g r a m m e d a resolution-based
p r o o f p r o c e d u r e on the IBM 704 tiations (substitutions) h o p i n g even- theorem prover for the clausal
and more generally o f pursuing tually to hit u p o n the r i g h t ones, predicate calculus, a d d i n g to the
mechanical t h e o r e m - p r o v i n g re- Prawitz was describing a way o f di- basic process search strategies
search. rectly computing them. This was a (called unit preference and set of sup-
Reading the Davis-Putnam p a p e r breakthrough. It offered an elegant port) of their own devising, which
[12] in early 1961 really changed and powerful alternative to the further s p e e d e d the resolution
my life. Although Hilary Putnam blind, hopeless, enumerative 'Brit- p r o o f process. Because o f the refer-
had been one o f my advisers when I ish Museum' methodology, and eeing delay, their paper, reached
was working on my doctoral thesis pointed the way to a new methodol- print before mine [52]) and could
in philosophy at Princeton (1953- ogy featuring deliberate, goal- only cite it as 'to be published'.
1956), my research had dealt with directed constructions. T h r o u g h o u t the winter o f 1963-
David Hume's theory o f causation T h e entire academic year o f 64, while waiting for news o f the
and had little or nothing to do with 1962-1963 was consumed in trying paper's acceptance or rejection by
m o d e r n logic, to which I paid scant to figure out the best way to exploit JACM, I concentrated on trying to
attention at that time. I did not find this Herbrand-Kanger-Prawitz pro- push the ideas further, and looked
out about Putnam's interest in the cess effectively, so as to eliminate for ways o f e x t e n d i n g the resolu-
predicate calculus p r o o f p r o c e d u r e the generation of irrelevant in- tion principle to accommodate even
until I read this paper, four years stances in the p r o o f search. Finally, larger inference steps than those
after I had left Princeton. It is a in the early s u m m e r o f 1963, I sanctioned by the original binary
very i m p o r t a n t paper. They m a n a g e d to devise a clausal logic resolution pattern. One o f these
showed how, by relatively simple with a single inference scheme, t u r n e d out to be particularly attrac-
but ingenious algorithmic reorgani- which was a combination o f the tive. I gave it the name hyper-resolu-
zation, the original naive predicate Herbrand-Kanger-Prawitz process tion, meaning to suggest that it was
calculus proof procedure of (for which I p r o p o s e d the name an inference principle on a level
H e r b r a n d could be vastly improved. unification) with Gentzen's 'cut' rule. above resolution. One hyperresolu-
In a 1963 p a p e r I wrote about This combination p r o d u c e d a tion was essentially a new inte-
my 'combinatorial explosion' expe- rather i n h u m a n but very effective grated whole, a condensation of a
rience with p r o g r a m m i n g and run- new inference pattern, for which I deduction consisting o f several reso-
ning the Davis-Putnam p r o c e d u r e p r o p o s e d the name resolution. Reso- lutions. T h e p a p e r describing hy-
in F o r t r a n for the IBM 704 at Ar- lution permits the taking o f arbi- perresolution was published at
gonne [38, pp. 372-383]. Mean- trarily large inference steps which about the same time as the main
while, d u r i n g my second research in general require very consider- resolution paper, and was later re-
s u m m e r there (1962) an A r g o n n e able computational effort to carry printed in [40, pp. 416-423].
physicist who was interested in and out (and in some cases even to un- It had been my guiding idea in
very knowledgable about logic, Wil- derstand and to verify). Most of the this research that bigger and (com-
liam Davidon, had drawn my atten- effort is concentrated on the unifi- putationally) better inference pat-
tion to the important 1960 p a p e r by cation involved. Preliminary inves- terns might be obtained by some-
Dag Prawitz [34], in which I first tigations indicated that resolution- how packaging entire deductions at

44 March 1992/Vo1.35, No,3/COMMUNICATIONS OF T H E ACM


one level into single inferences at the Emden, Robert Hill. B e r n a r d Meit- and Donald Loveland were devel-
next higher level. As I cast about zer had visited Rice University for oping Davis's very closely related
for such patterns I came across a two months in early 1965 in o r d e r unification-based 'linked conjunct'
quite restricted form of r e s o l u t i o n - - to study resolution intensively, and m e t h o d [10, pp. 315-330] in ways
I called it ' P l - r e s o l u t i o n ' - - w h i c h I on his r e t u r n to Edinburgh he set which eventually led Loveland in-
found I could prove was just as up one o f two seminal research d e p e n d e n t l y to his Model Elimina-
powerful as the original unrestricted groups which were to foster the tion system [28], a linear reasoning
binary resolution. T h e restriction in birth of logic p r o g r a m m i n g (the method entirely similar to the lin-
Pl-resolution is that one of the two other being Alain Colmerauer's ear resolution systems developed by
premises must be an unconditional g r o u p in Marseille). T h u s began my the E d i n b u r g h group, and by David
clause, that is, a clause in which long and fruitful association with Luckham at Stanford [30]. Back at
there are no negative literals (or Edinburgh. By 1970 the resolution Argonne, Larry Wos and George
what amounts to the same thing, a boom was in full swing. I recall that Robinson had f o r m e d a very strong
sentence o f the form: 'if antecedent in that year Keith Clark and Jack 'automated deduction' group. T h e y
then consequent' whose antecedent Minker were among those attend- b r o a d e n e d the applicability o f uni-
part is empty). From this restric- ing a N A T O S u m m e r School orga- fication by a u g m e n t i n g resolution
tion, it follows that every P l - d e d u c - nized by B e r n a r d Meltzer and Nic- with further inference rules spe-
tion (that is, a deduction in which olas Findler at Menaggio on Lake cialized for equality reasoning (mod-
every inference is a Pl-resolution) Como. T h e r e we preached the new ulation, paramodulation) which fur-
can always be decomposed into a 'resolution movement' for two ther improved the efficiency of
combination o f what I called 'P2- weeks, and Clark and Minker de- p r o o f searches [43]. Today, the
deductions'. A P2-deduction is a cided to join it, soon becoming two A r g o n n e g r o u p is still flourishing
P 1-deduction which satisfies the notable contributors. and remains a major center of ex-
extra restriction that its conclusion, Meanwhile, however, in the U.S., cellence in automated deduction.
and all of its premises except one, the reaction was mostly muted, ex- In 1969 there began a series o f
are unconditional clauses. Thus, ex- cept for isolated pockets o f enthusi- noisy but interesting (and, it later
actly one conditional clause is in- asm at Argonne, Stanford, Rice and t u r n e d out, fruitful) academic skir-
volved as an 'external' clause in a a few other places. Bill Miller had mishes between the then somewhat
P2-deduction. By ignoring the in- left A r g o n n e to go to Stanford at meagerly f u n d e d resolution com-
ternal inferences of a P2-deduction the end o f 1964, and I accepted his munity and M I T ' s Artificial Intelli-
tree and d e e m i n g its conclusion to invitation to spend the summers o f gence Laboratory led by Marvin
have been directly obtained from its 1965 and 1966 as a visiting re- Minsky and Seymour Papert. T h e
premises, we obtain a single large searcher in his computation group M I T AI Laboratory at that time was
inference--a hyperresolution-- at the Stanford Linear Accelerator (it seemed to us) comfortably, if not
which is really a multiinference Center. It was at Stanford in the lavishly, s u p p o r t e d by the Penta-
deduction whose interior details are s u m m e r o f 1965 that I met J o h n gon's Advanced Research Projects
hidden from view inside a sort of McCarthy for the first time. I was Agency (then ARPA, now DARPA).
logical black box. astonished to learn that after he T h e issue was whether it was better
had recently read the resolution to represent knowledge computa-
Computational Logic: The p a p e r he had written and tested a tionally, for AI purposes, in a de-
Resolution Boom complete resolution theorem- clarative or in a procedural form. I f it
After the publication o f the p a p e r proving p r o g r a m in Lisp in a few was the f o r m e r (as had been origi-
in 1965, there began a sustained hours. I was still p r o g r a m m i n g in nally p r o p o s e d in 1959 by J o h n
drive to p r o g r a m resolution-based Fortran, and I was used to taking McCarthy) [31] then it would be the
p r o o f procedures as efficiently as days and even weeks for such a predicate calculus, and efficient
possible and to see what they could task. In 1965, however, one could p r o o f procedures for it, that would
do. In Edinburgh, Bernard Melt- use Lisp easily in only a very few play a central role in AI research. I f
zer's Computational Logic group and places, and neither Rice University it was the latter (e.g., see [51]), then
Donald Michie's Machine Intelligence nor A r g o n n e National Laboratory a computational realization o f
g r o u p had by 1967 attracted many were then a m o n g them. knowledge would have to be a sys-
young researchers who have since Bertram Raphael, Nils Nilsson, tem of procedures 'heterarchically'
become well known and who at that and Cordell Green, at Stanford organized so that each could be in-
time worked on various theoretical Research Institute, were building voked by any o f the others, and
and practical resolution issues: deductive databases for the indeed by itself. These procedures
Robert Kowalski, Patrick Hayes, the 'STRIPS' planning software for would be 'agents' that would both
late Donald Kuehner, G o r d o n Plot- their robot, and they were adopting cooperate and compete in collec-
kin, Robert Boyer and J Moore, resolution for this (see [36]). At tively accomplishing the various
David H.D. Warren, Maarten van New York University, Martin Davis tasks comprising intelligent behav-

COMMUNICATIONS OF THE ACM/March 1992/Vol.35, No.3 45


LOgic Progromming
ior and thought. The procedural-logical fight was A Closer Look at Unification
Minsky's book, The Society of the really ended, in a delightfully unex- and Resolution
Mind [32], elegantly summed up pected way, by Kowalski's inspired What then, is the resolution-based
the M I T side of this debate in es- procedural interpretation of the be- clausal predicate calculus, and what
chewing polemics to outline a havior of a Horn-clause linear reso- is unification and how does it work?
grand unified theory of the struc- lution proof finder, [24]. He
ture and function of the mind in pointed out that in view of the be-
Clauses
the tradition of Freud and Piaget. havior of H o r n clause linear-reso- Davis's and Putnam's clauses are
T h e logic side of the debate has lution proof-seeking processes, a quite expressive, despite their ap-
been definitively treated in [25], collection of H o r n clauses could be parently restricted form. This is
which eloquently sets forth the role regarded as knowledge organized
reflected in the many different but
of logic in the computational orga- both declaratively and procedurally.
equivalent ways in which one can
nization of knowledge and banishes It suddenly was hard to see what all write them. In dealing with clauses
the procedural-declarative dichot- the fuss had been about. Kowalski computationally, however, it is best
omy by insight that H o r n clauses was led to this reconciliatory princi- to keep them simple and to work
(that is, clauses containing at most ple by superb implementation of a with them abstractly.
one unnegated literal) can be inter- 'structure-sharing' resolution theo-
preted as procedures, and thus can rem prover at Edinburgh [5, pp. A clause can in general be taken
be activated and executed by a suit- 101-116], which suddenly com- to be a sentence o f the form 'if P
ably designed processor. It is this pleted the transformation .of the- then Q', which we will usually write
insight that underlies what we now orem-proving from generate-and-test as P ~ Q or sometimes the other
call logic programming. searching to goal-directed stack-based way round, as Q ~ P. T h e anteced-
computation. When restricted to ent P is a set of conditions and the
The never-to-be-implemented H o r n clauses, the Boyer-Moore consequent Q is a set of conclusions.
but influential 'Planner' system by approach becomes the obvious pre- These conditions and the conclu-
Carl Hewitt--his first paper on cursor of the first implementations sions are atomic sentences. T h e order
Planner, in [20]--epitomized the of Prolog. David H.D. Warren's in which the atomic sentences per-
M I T procedural approach, while enormously influential later soft- force are presented in written ver-
the QA ('Question-Answering') se- ware and hardware refinements sions of clauses and has no logical
ries of programs by [31] carried out and advances clearly descend di- significance. There is usually no
McCarthy's logical 'Advice Taker' rectly from the Boyer-Moore meth- visible indication of the fact that the
approach to AI and convinced odology [50]. antecedent P is a conjunction of its
many skeptics that it would really conditions, while the consequent Q
work. T h e work by [18] should now Only the interaction of the Edin- is a disjunction of its conclusions.
be seen and appreciated as the ear- burgh group's ideas with the work Those two facts are assumed to
liest demonstration of a logic pro- of Colmerauer's Montreal [7] and hold by convention. In discussing
gramming system. That paper illus- Marseilles [8] groups was required inferences and manipulations in-
trated how to adapt a to open up logic programming and volving clauses, the abstract view of
resolution-based proof procedure launch it on its meteoric career. P and Q as sets is both natural and
to provide an assertion-and-query The interesting story o f this inter- convenient.
facility in all essential respects like action was published by [26]. Logic We can then classify a clause
that provided by the later Prolog programming is today in excellent along three different dimensions,
systems. Unfortunately, the system health. The logic programming depending on whether its atomic
was built on the rapidly ramifying community has settled down to sentences contain any variables or
full resolution scheme, using unre- enjoy, after two decades of very not, whether or not it has any con-
stricted (rather than Horn-) clauses, rapid growth, a steady mature ditions, and whether or not it has
so that the program suffered from round of professional conferences any conclusions. A clause with no
premature combinatorial explo- and workshops, a plentiful flow of variables is said to be a ground
siveness. Nevertheless, it was research and expository publication clause, while if it has one or more
largely Green's pioneering work of in books and in its own and other variables, it is called a general clause.
[18] that encouraged Kowalski and journals, an exciting marketplace of A general clause is understood to
the Edinburgh group to fight off new software and hardware enter- be a universally quantified sentence,
the M I T 'procedural-is-best' attack prises, and such majestic long- each of its variables being tacitly
by developing the highly efficient range national and international universally quantified with the
(LUSH, later called SLD), slowly undertakings as Japan's Fifth Gen- whole sentence as scope. A clause
ramifying linear resolution systems eration Project and those spon- with one or more conclusions is said
for the restricted case o f Horn- sored by the European Commu- to be a positive clause; while one
clauses [27, pp. 542-577]. nity. with no conclusions is said to be a

46 March 1992/%1.35, No.3/COMMUNICATIONS O F T H E A C M


negative clause. Finally, a clause with E(x) D(x z ) ~ A(F(x z)) a n d E(u) without any significant internal
o n e o r m o r e conditions is said to be D(y u) ---> A(F(u y)) are n o t variants. syntax o f t h e i r own. I n this discus-
a conditional clause; while o n e with T h e y are, h o w e v e r , separated. sion we will write t h e m as u p p e r -
no conditions is said to be an uncon- In unification c o m p u t a t i o n s a n d case identifiers. T h e a r g u m e n t s are
ditional clause. ( T h e r e is only one in the resolution i n f e r e n c e and terms. N o n c o m p o s i t e t e r m s are vari-
clause that is both u n c o n d i t i o n a l and p r o o f constructions based on t h e m , ables: x, y, z, ul, and so on. In this
negative: it is k n o w n as the empty we r o u t i n e l y replace a clause by a discussion we will write variables as
clause.) suitably chosen o n e o f its v a r i a n t s - - lower-case identifiers, possibly sub-
for e x a m p l e , w h e n we n e e d to en- scripted.
Various Ways of Reading a Clause sure that all clauses in a set are sep- C o m p o s i t e t e r m s are like com-
S u p p o s e the variables which o c c u r arated. As we shall soon see, how- posite atoms in h a v i n g two parts: an
in the atomic sentences o f a clause ever, t h e r e are ways o f r e p r e s e n t i n g operator and list o f a r g u m e n t s ) In-
are V[ . . . Vk, and that its condi- expressions (as t w o - d i m e n s i o n a l d e e d the c o m m o n c o n v e n t i o n for
tions are Pl • • - Pm a n d its conclu- structures o f a certain kind) in writing a c o m p o s i t e t e r m is similar
sions are Ql . . . Qn. T h e various which this b e c o m e s i r r e l e v a n t and to that for writing c o m p o s i t e atoms:
ways to r e a d a n d write the clause u n n e c e s s a r y because variables are to write the o p e r a t o r i m m e d i a t e l y
will t h e n d e p e n d o n the values o f k, nameless. T h e familiar o n e - d i m e n - b e f o r e the list o f a r g u m e n t s , as for
m, a n d n, as follows: sional notation, h o w e v e r , is the example:

1 for allV1 ...Vk:ifP~ and...andPmthenQl or ..or Qn (k>O,m~ l , n > ~)


2 f o r all V l . . . Vk: Q1 o r . . . o r Qn ik ~ O, m = O, n > l i
3 i f Pl a n d . . , a n d Pm t h e n Q l o r ~ . . o r Qn (k ~ O, m -> 1, n > 1)

7 i f PI a n d . , . a n d Pm t h e n Qt

10 n o t (P~ a n d . . , a n d Pro)
11 n o t true (or: false)
Horn-clauses are cases 5 o n w a r d most c o n v e n i e n t o n e for writing P L U S ( T H R E E , SIX)
(where n = 1 or n = 0). T h e clauses expressions, a n d it is in this r e p r e - SUCCESSOR(SUCCESSOR
in cases 5 to 8 are positive H o r n - sentation that we have to be careful (SUCCESSOR(ZERO))).
clauses (n = 1); those f r o m 9 on- to avoid 'name-clashes' w h e n choos-
wards are negative Horn-clauses ing n a m e s for variables. T h e o p e r a t o r s are functional con-
(n = 0). Cases 2, 4, 6, 8 a n d 11 are stants. PLUS, S U C C E S S O R , a n d so
unconditional clauses (m = 0). T h e on. W h e n the a r g u m e n t list o f a
Atoms
o t h e r cases (m > 1) are conditional t e r m is empty, we usually skip ex-
Calling atomic sentences 'atoms'
clauses. plicitly writing the e m p t y list, and
may r u n s o m e risk o f c o n f u s i o n
with Lisp's usage o f that word, but write the t e r m as if it consisted o f its
Variants. Separation of Clauses it is well established. T h e r e are two constant alone, as MARY,
As we shall soon see, the choice o f noncomposite atoms--the truth T H O M A S , instead o f M A R Y ( ) ,
variables in a g e n e r a l clause is values true, f a l s e - - b u t in g e n e r a l T H O M A S ( ) . Every relational and
s o m e w h a t arbitrary, and n e i t h e r atoms are c o m p o s i t e expressions, functional constant comes with an
the essential syntactic structure n o r
with two c o m p o n e n t s : a predicate arity, which is a n o n n e g a t i v e inte-
the m e a n i n g o f a clause are affected a n d a list o f arguments. T h e usual ger, a n d which is c o n s i d e r e d to be
if we replace s o m e o r all o f its vari- c o n v e n t i o n for writing a c o m p o s i t e part o f the constant's identity. A
ables by o t h e r variables. T h e only a t o m is to write its predicate i m m e - constant h a v i n g arity n is said to be
proviso is that the c o r r e s p o n d e n c e diately b e f o r e its a r g u m e n t list, as n-ary. T h u s M A R Y is 0-ary, S U C -
b e t w e e n old and new variables m u s t for e x a m p l e : C E S S O R is 1-ary, G R E A T E R -
be one-to-one. T w o clauses which T H A N is 2-ary, a n d so on. T h e
d i f f e r f r o m each o t h e r only in this basic f o r m a t i o n rule for c o m p o s i t e
MOTHER(MARY, THOMAS)
way are called variants o f each expressions (atoms or terms) is that
GREATER-THAN(SUM-OF
other. I f two clauses have no vari- an n-ary constant m u s t always be
( T H R E E , SIX), S E V E N )
ables in c o m m o n , they are said to be
separated or standardized apart. T h u s T h e predicates are relational con- q n writing a list, we m a y place a c o m m a after
each i t e m (other t h a n the last) to e n h a n c e the
E(x) D(x y ) ~ A(F(x y)) a n d E(u) stants MOTHER, GREATER- readability. T h i s is, h o w e v e r , optional, a n d is
D(u y)--> A(F(u y)) are variants; T H A N , and so on: j u s t identifiers, not p a r t o f the definition o f a list.

COMMUNICATIONS OF THE ACM/March I992/Vol.35, No.3 47


LOgiC P r o g r a m m i n g
followed immediately by a list o f n Unification 'specialization' substitution g =
a r g u m e n t s (except, as n o t e d above, Let S be a set o f expressions. W h e n {u=P,v=Qy=D}.Thisisade-
w h e n n = 0, w h e n the list can be by a substitution 0 t r a n s f o r m s every f i n i n g characteristic o f mgus.
c o n v e n t i o n omitted). T h e c o m m o n expression in S into the same ex- I n fact, to say that ~r is a n m g u o f
u n d e r l y i n g semantic idea is that of pression, 0 is said to unify S (or to be a set S is to m a k e the following two
an applicative expression which repre- a unifier o f S) a n d the set S is said to statements: (1) that ~ unifies S a n d
sents the result o f applying a func- be unifiable. (2) that a n y u n i f i e r A o f S whatso-
tion or relation to a suitable tuple o f For example, let 0 be {x -- H(P ever satisfies the condition: A =
arguments. Q), y = D, u = P, v = Q, z = G(H(P ~'/~, for some /~.
Q),D)}. W h e n we apply 0 to the two A unifiable set always has a n
I n the clausal predicate calculus,
expressions F(x G(x y)) a n d F(H(u mgu. Moreover, there are simple
clauses are the only kind of sen-
v) z) both o f t h e m become the same algorithms (unification algorithms;
tence available in which to express
expression, n a m e l y F( H(P Q) a b o u t which we shall say m o r e later)
the premises a n d desired conclu-
G(H(P Q) D)). T h u s 0 unifies the set which compute a n m g u for any finite
sion o f a p r o o f problem. T h i s is n o t
{F(x G(x y)), F(H(u v) z)}. unifiable set, a n d detect the n o n -
as limiting as it sounds. It is in fact
T h i s set, however, is also u n i f i e d unifiability o f a set which is not uni-
possible to translate (automatically)
by the substitution tr = {x = H ( u v), fiable. T h e s e algorithms are best
a p r o o f p r o b l e m from the full
z = G( H(u v) y)}, which t r a n s f o r m s stated for the m o r e g e n e r a l case in
predicate calculus into the clausal
both its m e m b e r s into the same which we seek a substitution that
predicate calculus. Detailed discus-
expression: F ( H ( u v) G ( H ( u v) y)). unifies several disjoint finite sets o f
sions o f how to do this can be
T h i s expression is n o t only a more expressions s i m u l t a n e o u s l y (or, as
f o u n d , in [ 12].
g e n e r a l c o m m o n instance o f F(x we shall say, which unifies a partition
G(x y)) a n d F(H(u v) z), b u t is actu- o f a set o f expressions). It is the uni-
ally a most g e n e r a l c o m m o n in- fication o f partitions that we shall
Substitution
stance, a n d so cr r e p r e s e n t s the most be c o n c e r n e d with in the r e m a i n d e r
M a k i n g the clausal predicate calcu-
g e n e r a l way in which the set {F(x o f the discussion. T h e idea is virtu-
lus m o r e m a c h i n e - o r i e n t e d calls for
G(x y)), F(H(u v) z)} can be unified. ally the same as that o f u n i f y i n g a
a m u c h closer analysis of the idea o f
We t h e r e f o r e say it is a most general single set: a substitution 0 unifies a
instantiation. W h e n a n expression B
can be o b t a i n e d f r o m a n o t h e r ex-
unifier ('mgu') o f {F(x G(x y)), F ( H ( u partition T = {Sl . . . . . Sk} of a set S
v) z)}. All o t h e r c o m m o n instances o f expressions if each o f the sets
pression A by substituting terms for
o f F(x G(x y)) a n d F ( H ( u v) z) are $10 . . . . . Sk0 is a singleton. A sub-
some or all o f the variables in A, B
instances o f the above most g e n e r a l stitution ~r most generally unifies T
is said to be a n instance o f A.
one. I n this particular case we have: if (1) cr unifies T a n d (2) for every
For example, F( H(y z) G( H(y z )
F ( H ( u v) z)0 = F(x G(x y))0 = F(H(P u n i f i e r A o f T we have A = cr-g for
A(y)) A(y)) is a n instance o f F(x G(x
Q) G(H(P Q) D)) = (F(x G(x y))cr)g some g.
y) y). I n s p e c t i o n c o n f i r m s that F(
= F ( H ( u v) G(H(u v) y)/x w h e r e / x = We n e e d to be able to c o m p u t e a
H(y z) G(H(y z ) A(y)) A(y)) can be
{u = P, v = Q, y = D}. T h i s suggests most g e n e r a l u n i f i e r efficiently, for
o b t a i n e d f r o m F(x G(x y) y) by si-
that 0 is some kind o f ' p r o d u c t ' o f a n y partition as i n p u t . T h e r e is now
multaneously replacing each occur-
the m g u ~ a n d the substitution g. a r a t h e r large specialized literature
rence o f x a n d y by a n o c c u r r e n c e
We can write 0 explicitly as 0 = cr./~ o n this topic, b u t for o u r p r e s e n t
o f H(y z) a n d a n o c c u r r e n c e o f A(y)
a n d we find that, i n d e e d , this no- p u r p o s e s we n e e d n o t be c o n c e r n e d
respectively. It is very interesting
tion of the p r o d u c t o f two substitu- with m a n y o f the details.
that this basic logical o p e r a t i o n of
tions can be n a t u r a l l y d e f i n e d a n d
substitution is essentially a parallel
is extremely useful. unification AlgOrithms
one.
T h e product a'/3 o f two substitu- T h e c o m p u t a t i o n o f a most g e n e r a l
We can r e p r e s e n t specific substi- tions a a n d / 3 is the overall substitu- unifier, w h e n expressed in its most
tutions by sets o f equations. For tion which results f r o m first per- simple a n d n a t u r a l form, is a highly
example, the p r e c e d i n g substitu- forming a and then performing/3. parallel one. It was n o t at first seen
tion can be r e p r e s e n t e d by the set T h u s we have E(a'/3) = (Ea)/3 for all to be so. T h e n a t u r a l , i n h e r e n t par-
{x = H(y z), y = A(y) }. Unspecified expressions E. This p r o d u c t opera- allelism is most clearly seen if we
substitutions are usually d e n o t e d by tion is associative, a n d has a n iden- think o f expressions as b e i n g really
lower-case G r e e k letters: 0, A, g, ~, tity, n a m e l y the ' e m p t y ' substitution directed labelled graphs, as follows:
a n d the result of a p p l y i n g a substi- E which leaves every variable u n -
t u t i o n to a n expression E is indi- c h a n g e d . However, it is n o t in gen- • a variable is a g r a p h with only o n e
cated by writing E0, EA. T h e r e f o r e , eral commutative. node, its root, which is unla-
if E is F(x G)(x y) y) a n d 0 is {x = It is n o accident that in o u r ex- belled.
H(y z), y = A(y)}, E0 is F( H(y z) G( a m p l e we can express the u n i f i e r 0 • a c o n s t a n t K is a g r a p h with only
H(y z ) A(y)) A(y)). as the p r o d u c t o f the m g u ~r a n d the o n e node, its root, which is la-

48 March 1992/%1.35, N o . 3 / C O M M U N I C A T I O N S OF T H E A C M
belled by the symbol K.
• an applicative expression K(EI,
. . . . E,) is a g r a p h whose root is
unlabelled and has n + 1 out-arcs
which are labelled respectively by
the integers 0 to n. T h e out-arc
labelled by 0 points to the node
which is the constant K. For i = 1,
.... n, the out-arc labelled i
; \ //
points to (the root o f the graph
which is) the term El.

I f an out-arc goes from N to M and


is labelled by j, we say that M is ajth ti ¢ ¢
?xh/ /e /
C G@¢
) @ ®©®
immediate successor o f N. T h e arity o f
a node is the largest integer which
labels any o f its out-arcs. So, for
example, the expressions R(P G(x
H K
y) x y) and R(y z H(u K) u) are the
two roots (nodes 1 and 2) o f the F I G U R E 1.
g r a p h in Figure 1, node 12 is a 2d
immediate successor o f node 10,
and the arity o f node 5 is 2. In all
there are 13 expressions in the
graph, one for each node. T h e
g r a p h itself can be thought of as
representing the set o f these expres-
sions.
Note that in the graphical form of ' i '\ \R / / I"
expressions we need no names for
variables. Distinct variables are sim-
ply distinct unlabelled leaves (here,
they are nodes 6, 7, 9 and 13, whose
names in the linearly written ex-
pressions are respectively z, x, y and i
u). T h e use o f the graphical form of
expressions thus avoids the well-
known complication o f needing to
C G H K
rename variables in o r d e r to pre-
vent unwanted identifications o f F I G U R E 2.
two distinct variables which h a p p e n
to have been given the same name.
Once we are given a set S o f
atoms and terms as a graph, we can
represent a partition P o f S by insert- A B C D
ing one or more links (undirected
arcs) between roots o f distinct ex-
pressions which are in the same
part o f P. For example, by inserting E F G
a link between nodes 1 and 2 o f the
graph in Figure 1 we represent the
12-part partition

P = {{R(P G(x y) x y), R(y z H(u K) H J K L M


u)}, {O(x, y)}, {H(u, K)}, {R},
{P}, {O}, {H}, {K}, {x}, {y}, {z},
{u}}
X Y Z
by the graph in Figure 2. F I G U R E 3.

COMMUNICATIONS OF THE ACM/March 1992/Vo1.35, No.3 49


LOgiC P r o g r a m m i n g
I f a part o f a partition has more
than two members, we do not need
to put links between every two nodes
in it. A part is represented by a clus-
ter of n o d e s - - a maximal set of
nodes any two of which are con-
nected by a path of such links.
For example, the six-part parti-
tion {{A, B, C, D}, {E, F, G}, {H, J, K,
L, M}, {X}, {Y}, {Z}}of the set {A, B,
C, D, E, F, G, H , J , K, L, M, X, Y, Z}
is represented by the graph in Fig-
ure 3.

Given a partition in the form of a


graph, the problem to find an mgu
of the partition (or to detect its
nonunifiability) is solved by the fol-
lowing unification algorithm:
while there are clusters in the
FIGURE 4.
graph but no clashes
do shrink the graph.
Shrinking a graph requires two
steps:
Step 1. Each cluster C in the
graph is "collapsed" into
a single new node, which
inherits all of the in-arcs,
out-arcs, and labels of
every node in C.
Step 2. New links are inserted
between nodes which are
equated by step 1.
Two nodes are equated if they are
both jth successors, for some j, of
the same node. A clash is a cluster in
which there are nonvariable nodes
which either (1) are labelled by dis-
tinct constants, or (2) are unla- G H K
belled, but have different arities.
Each iteration of the loop trans-
forms a graph into another graph, F I G U R E S.
which also in general contains links.
For example, the first iteration fewer nodes than the previous ing each such variable with the ex-
transforms the graph in Figure 2 graph. If, after termination, the pression represented by the corre-
into the graph in Figure 4. The graph contains no clashes and is sponding node in the terminal
second iteration then trans- acyclic, the original partition is uni- graph.
forms this into the graph in Figure fiable. Otherwise, not. Note that the nonterminal
5 which is terminal, since there are On termination, an mgu for a graphs generated during the pro-
now no links. unifiable partition can be found by cess do not represent sets of expres-
The process in general continues comparing the terminal graph with sions, since some of their nodes
until an iteration either creates no the initial graph. For each node have more than one jth successor,
new links, or else creates a clash; representing a variable in the origi- for one or more j.
whereupon it terminates. This must nal graph, we find the node in the T h e graph-shrinking parallel
eventually happen, since each itera- terminal graph which contains it. unification algorithm is presented
tion produces a new graph with The mgu is represented by equat- here in essentially the version that

SO March 1992/Voh35, No.3/COMMUNICATIONSOF T H E A C M


hi ¸!!

was recently developed, analyzed case), we are ready to make infer- s)} and N = {P(x y u),P(x v w)}, since
and efficiently i m p l e m e n t e d in [2]. ences by resolution. {M tO N} is unifiable with mgu {x =
T h e elegant data-parallel SIMD T h e fundamental resolution in- G(rs),y=v=r,u=w=s}.
implementation for the Connection ference pattern is closely related to
Machine exoloits all the inherent what logicians call the 'cut' infer- E x a m p l e 3. From P(x y u)P(y z
parallelism in the process very ef- ence. (In Prolog p r o g r a m m i n g par- v)P(x v w ) ~ P(u z w) and P(a b
fectively. lance, unfortunately, the word 'cut' c)P(b d e)P(c d f ) ~ P ( a e f) we
T h e sequential version o f this has come to have another, quite dif- infer P(x y a)P(y b v)P(x v c)P(b d
"fast unification" algorithm was hit ferent, meaning). Cut inferences e)P(c d f) ~ P(a e f) by a resolution
u p o n i n d e p e n d e n t l y by [4, 22, 42], have the form: in which M = {P(u z w)} and N =
improving an earlier formulation {P(a b c)}, since {M U N} is unifiable
from A~(B+{L})and with m g u { u = a , z = b , w = c } .
by [3]. As far as I know, the first
({L} + C) ~ D
version of a unification algorithm
infer (A U C)--~ (B tO D). F r o m two given clauses, only a fi-
to be explicitly stated and accompa-
nied by correctness and termina- nite n u m b e r o f clauses can be in-
We can make a cut inference from ferred by r e s o l u t i o n - - o n e for each
tion proofs was in [39].
two clauses if any only if there is choice o f the 'cut' sets M and N for
Later, in [41], I formulated a
some atom L which is in the ante- which the partition {M U N} is uni-
more efficient version o f the algo-
cedent o f one clause and the conse- fiable. I f there are no such choices
rithm, using a tabular representa-
quent o f the other. To form the o f M and N, then nothing can be
tion o f the graph-representation to
conclusion o f the inference, we first inferred from the two clauses by
gain some o f the same computa-
'cut' out L from both places, and resolution.
tional advantages which were bril-
then merge the two antecedents
liantly orchestrated on a much
into one and two consequents into
larger scale by [5] in their impor- ReSolution Deductions and Proofs
one. T h e 'disjoint union' notation
tant structure-sharing resolution the- A resolution deduction is a finite tree
X + Y denotes the union X U Y ,
orem-prover. This tabular repre- whose nodes are labeled by clauses,
but also carries the further infor-
sentation [41] is also the point o f each nonleaf node being labeled by
mation that X n Y = O.
d e p a r t u r e for [2]. a clause which is inferred by a reso-
H e r b r a n d ' s original (1930) ver- lution inference from the clauses
E x a m p l e 1. F r o m the clauses A
sion o f the unification process is labeling its immediate successors.
B ~ C D and D E ~ F G we can
stated briefly, informally, and with- T h e conclusion o f the deduction is
infer the clause A B E ~ C F G by a
out p r o o f (see [19]). the clause labeling its root, and the
cut, eliminating the atom D.
In 1984 [13] pointed out that in premises o f the deduction are the
certain cases there is no opportu- T h e resolution inference pattern clauses labeling its leaves. A resolu-
nity for the parallel graph-shrink- generalizes the cut inference pat- tion proof is a resolution deduction
ing algorithm to achieve any signifi- tern by bringing in unification. T h e whose conclusion is false (= the
cant speed-up. Thus, for example, resolution inference pattern has the empty clause). Such a p r o o f estab-
in finding the mgu {x = A} o f the form: lishes that the premises are contra-
set dictory (unsatisfiable). I f S is any
from A ~ (B + M) and
{F(F(F(F(F(F(F(F(x)))))))), unsatisfiable set of clauses there is
(N + C) ~ D
F(F(F(F(F(F(F(F(A))))))))} always a resolution p r o o f whose
infer (A U C)¢r---> (B U D)cr
premises are all in S. This fact is the
where ~r is an mgu o f the one-
we can merge only one pair o f completeness o f resolution (see
part partition {M U N}.
nodes, and generate only one new [39].
link, at each iteration o f the loop. A resolution p r o o f with n + 1
In making a resolution inference,
These successive minimal modifica- premises can be taken in n + 1 dif-
we must first use unification to de-
tions o f the g r a p h therefore com- ferent ways as a p r o o f of the nega-
duce a pair o f instances o f the two
prise essentially a sequential pro- tion of one o f its premises from the
premises suitable for a cut to be
cess. However, such 'worst cases' other n premises. For example, a
applied. In the special case that
are m o r e pathological than typical, resolution p r o o f with premises A,
M = N = {L}, the mgu o f the parti-
and experience suggests that they B, C can be taken as (1) a p r o o f o f
tion {M U N} is the identity substi-
are rarely met in real applications. not-A from the premises B and C,
tution. So in this case, a resolution is
(2) a p r o o f o f not-B from the prem-
the same as a cut.
Resolution ises A and C, and (3) a p r o o f of
Once we can compute an mgu for E x a m p l e 2. F r o m -->P(G(r s) r s) not-C from the premises A and B.
any unifiable partition o f a set o f and P(x y u)P(y z v)P(x v w) --> P(u z
expressions (or show the partition w) we infer P(r z r)--> P(s z s) by a P1-ReSOlution
not to be unifiable, if that is the resolution in which M = {P(G(r s) r A resolution one of whose two premises

COMMUNICATIONS OF THE ACM/March 1992/Vol.35, No.3 Sl


LOgiC P r o g r a m m i n g
is unconditional is called a Pl-resolu- Hvperresolution Deductions nite. This is one reason it is so
tion. Example 2 is a P l - r e s o h t i o n , A hyperresolution deduction is a fi- difficult to make an efficient p r o o f
but Example 3 is not. It turns out nite tree each of whose nodes has a p r o c e d u r e for traditional predicate
that whenever a set o f clauses is label and each o f whose nonleaf calculi. For example, most tradi-
unsatisfiable, then there is a PI- nodes also has a justification. T h e tional predicate calculi contain the
resolution p r o o f from those prem- labels are unconditional clauses, and rule o f specialization:
ises (see [40]). In other words, P1- the justifications are conditional
from VA infer V(A0),
resolution is also complete: despite clauses. T h e clause labeling a non-
where 0 is any substitution.
its restricted form, P l - r e s o h t i o n is leaf node N is inferred by a hyper-
j u s t as strong as resolution, but its resolution whose unconditional (The sentence VS is the universal
proof-space is sparser than that o f premises are the clauses labeling closure o f the sentence S: the result
unrestricted resolution. the immediate successors o f N, and o f prefixing a universal quantifier
whose conditional premise is the to S for every free variable in S).
Hyper-Resolution justification o f N. T h e conclusion o f With this inference available, there
We get an even sparser proof-space the deduction is the clause labeling are infinitely many deductions o f
when we take as the only inference its root. T h e premises o f the deduc- size 2 which have the same premise
rule, instead o f the two-premise P1- tion are the labels o f its leaf nodes V A - - o n e for each different substi-
resolution, the (p + 1)-premise and the justifications o f its nonleaf tution 0.
hyper-resolution rule in which exactly nodes.
one o f the premises is a conditional H y p e r r e s o h t i o n deductions can Hyperres01ution and
clause a n d all o f the other p p r e m - yield only unconditional clauses. Horn Clause Logic
ises, together with the conclusion, are Moreover, they can yield only posi- T h e advantages o f h y p e r r e s o h t i o n
unconditional clauses. T h e hyper- tive unconditional clauses, unless the are quite striking in the H o r n
resolution rule is: justification of the root node is a nega- clause predicate calculus. In this
subsystem o f the clausal predicate
calculus every clause is a Horn
from --~(Cx + M1) . . . . .
clause, namely, a clause having at
(Cp + Mp), a n d Nl + "'" + Np--~ D
most one conclusion. H y p e r r e s o h t i o n
infer "-*(C1 U'" U Cp LI D)o,
then becomes much simpler. Recall
where o, is an m g u o f the p - p a r t
the general definition o f hyper-
partition {Mt U N1 . . . . . Mp U Np}.
resolution:

T h e unifiable p-part partition that tive conditional clause and in that


is the essential ingredient of a hy- case, but only in that case, the con-
p e r r e s o h t i o n is called its kernel. clusion is a negative unconditional
T h e p + 1 premises and the kernel clause; indeed, it is the empty where ~ is a n mgfi 6 f t h e p ; p a r t
together uniquely d e t e r m i n e the clause. T h u s a h y p e r r e s o h t i o n pa~iti~n
conclusion. deduction o f the e m p t y clause (a W h e n all clauses are restricted to
h y p e r r e s o h t i o n proof) always has having at most one conclusion, the
A hyperresolution inference is exactly one negative conditional clause 'cut' sets Mi can only be singletons
really a compacted reorganization a m o n g its justifications. As we shall (say, {Ai}), a n d the ' r e m a i n d e r ' sets
o f a P l - r e s o h t i o n deduction whose see, it is this feature which a d u m - Ci must be empty. Consequently,
conclusion is unconditional. After brates logic p r o g r a m m i n g . the definition o f h y p e r r e s o h t i o n s
the reorganization the deduction Completeness and Local for Horn clauses can be restated, in
has had all o f its interior nodes sup- Finiteness of the Resolution the following much simpler form:
pressed and has become a single Clausal Predicate Calculi
integrated transaction instead of a T h e resolution and h y p e r r e s o h -
from ; : :
linked system o f many transactions. tion versions o f the clausal predi- ii
infer ~D~:
By reorganizing the reasoning as a cate calculus are all complete. Also,
single inference, we are simply re-
where is
both systems are locally finite. This
g a r d i n g its conclusion as having means that, in each system, there
been obtained directly (or, to use a are only finitely many deductions In this restatement o f the rule, D
traditional logic expression, immedi- o f a given size (number o f nodes) and the A's and B's are all atomic
ately-without any 'mediation') having a given set o f premises (and sentences. W h e n we combine hy-
from its premises in one step, this n u m b e r is much smaller for p e r r e s o h t i o n inferences into mul-
rather than 'mediately' as the even- hyperresolution than for resolu- tiinference deductions, we are in
tual outcome o f several linked P1- tion). By contrast, traditional predi- effect treating each particular ap-
resolution steps. cate calculi are not even locally fi- plication o f this inference pattern

S6 March 1992/%I.35, N o . 3 / C O M M U N I f A T I O N S O F T H E A @ M
as though it were a special infer- has the same premise and the same is a cover of A(x0) B(x0) ~ C(x0) by
ence rule, 'the {Bl . . . . . Bp} ~ D conclusion as D, and conversely. We C, in view of the assignments given
inference rule', stated as: define ultraresolution inferences by the table:
atom assigned to node
A(x0) 2
B(x0) 3
H(G(x2)) 4
This is, however, just a pragmatic directly, however, without refer- D(xl yl) 5
device to sharpen our understand- ence to their corresponding hyper- E(xl) 6
ing of the very special role that con- resolution deductions. and has the following partition as
ditional H o r n clauses play in logic The ultraresolution rule is its kernel:
programming. (where A ~ B is a Horn-clause and
C is a set of Horn-clauses):
Ultraresolutions: Horn Clause
Hyperresolution Deductions as
!~!~!~ii i!~i!i~i~!i~!~ii ~!!ii!i~!!i!i!!!!ii~!!!i~i!i~i~i~!i!~i~!~!~ii !!ii ~!!ii i~!~ii!!!ii~!i~i ~!!~ii ~!!!ii ~i i i~!ii ~!!ii i~i i!!!i~i~!ii~i i i!~!~!!i~i i!~i!!~ii i
Single Inferences
We again apply the idea of making
a single inference out of an entire !i~i~i!!i!ii~¸ii!!Ji~!iiii!ii!!!ci!JJii~iii!!~i!!~il
iii~!iiii!ii~!i ¸i~i~ili!i~iiiii~ui!i!~!i!i
deduction. I n the case of hyper- T h e clause A --~ B is the main prem-
{{A(x0), A(F(xl yl))}, {B(x0, B(x2)},
resolution, instead of thinking of /se and the clauses in C are the cov-
{E(x0, E(M)}, {D(xl yl), D(M N)},
the conclusion of an entire deduc- ering premises. {H(G(x2)), H(G(x3))}.
tion (namely a deduction built from Covers and Their Kernels
Pl-resolution steps and having an Since this kernel is unifiable, with
A cover of a clause A ~ B by a set C
unconditional conclusion) as being mgu
of clauses is a certain kind of finite
arrived at stepwise by the perfor- tree with nodes labeled by clauses. cr = {x0 = x2 = x3 = F(M N)),
mance of each of its inferences sep- T h e root of the tree is labeled by Xl = M, yl = N},
arately, we think of the whole con- A ~ B, while the other nodes are
struction as one inference step we can infer the clause
labeled by variants of clauses in C.
involving a higher and larger-scale T h e extra condition that makes the ---~C(x0)~r = --*C(F(M N))
inference pattern. We will now treat tree a cover is that for each node N
H o r n clause hyperresolution de- by an ultraresolution which has
in the tree, every atom in the ante-
ductions in a similar way, and A(x0) B(x0)---~C(x0) as its main
cedent of the clause labeling N is
thereby arrive at a higher- and premise and C as its set of covering
assigned to a distinct immediate
larger-scale inference pattern premises.
successor of N. T h e kernel of the
which we call ultraresolution. cover is the partition: T h e intuition behind the notion
T h e r e is really no need, prag- {{X, Y}IY is the conclusion of the of a cover of a clause A ~ B is that
matically, to know the conclusion of clause labelling the node to which X it depicts exactly the pattern of orga-
every individual inference in a hy- is assigned}. nization of the given clauses. If the
perresolution deduction, if all that kernel of the cover is unifiable with
Example 4. To illustrate the no-
we are after is the eventual conclu- mgu ~r, it guarantees that we can
tions of a cover and its kernel, con-
sion of the whole deduction. We easily relabel the tree so it turns into
sider the clause:
can instead characterize that even- a hyperresolution deduction, from
tual conclusion more directly, by a A(x0) B(x0) ~ C(x0) these clauses as premises, of the
relationship based only on the and the set C of clauses same unconditional clause ---~B~
structure of the premises of the that the ultraresolution inference
deduction. By omitting in this way {E(xl) D(Xl y l ) ~ A(F(xl y])),
obtains directly from them in one
H(G(x2)) ----)B(x2),
all of the interior stepwise conclu- step. I n this relabeling, the new
sions we t u r n the entire hyper- ~H(G(x3)), ~ D(M N), ~ E(M)}.
label on each leaf node of the tree is
resolution deduction into a single in- T h e labeled tree given by the table: the same as the old label. T h e old
ference, which immediately yields its
conclusion from the premises in
one integrated step.

Ultraresolution i~i~!ii i ~!i3i!!!!~!~!~i~!~i~!ii!~!!~i~!~!~!~i~i!~!i~!!~!~!!~il !!~!~!i~i~i~i~i ~i ~i~i~i i!~!!i~i~i~i ~i !~i~i ~i!i~i!~i~i!!~i~i!!~i~i~i ~i!!i~!ii~!!!!!~i!~


To every hyperresolution deduc- ~ i~i~~ill¸ i ~!i!ill i ii~i i i~i~iiiiiiiiiiiiiiiiii!i~!!ili~H~i~i~i~i
!il ' ii¸ i~ii ii ii~i!!i!il !i i !!:!!i !!iill!i!~ii !i~i~i i i i~i!~
tion D there corresponds an ~!ii!~ii~i i ~!!ii ~!i~i i~i i~i ~i~i!i!i i!!i~i~i i!i~i~i i ~i i ~!~i!i!i!~i~~i!~i~i ~Mi~¸~ii~i~~i!~i!i~~i!!,iii~!~i ~i i!iliii!i!i~ii i i ! i ~!i i!i~i
ultraresolution inference U which ii ii!i i,ii!iii!ii!ii¸ii!i
i!iii!!!iii i ! ¸ ¸ !ii ! iil!ii!i!i!!!i !¸ii!! i iii!!!!i!ii!!!!!iiii!!i
i i,iii!!i!!i

COMMUNICATIONS OF THE ACM/March 1992/Vo1.35, No.3 S7


LOgiC P r o g r a m m i n g
label on each nonleaf node of the
cover, however, is removed (it now 41 (2)
becomes the justification of the hy-
perresolution inference at that
same node), and the node's new
label is the unconditional clause
which is inferred by a hyperresolu-
tion from this justification clause
together with the new labels on the 37
immediate successors of the node.
The following example illustrates
the relationship between a hyper-
resolution deduction and the corre-
sponding ultraresolution inference. 40

Example 5. Figure 6 is a hyper-


resolution deduction of the uncon-
ditional clause UNCLE(TED 31
ANN)*- from a subset of the fol-
lowing set of Horn clauses, which
comprises a small 'family relation-
ship' knowledge base. This knowl-
edge base contains (as its 'defini-
tions') the following conditional
F I G U R E 6.
Horn clauses:

1 UNCLE(u x) *--BROTHER(u y) PARENT(y x)


2 UNCLE(u x) *--HUSBAND(u s) SISTER(s p) PARENT(p x)
3 PARENT(x,y) ~--CHILD(y,x)
4 BROTHER(b x) *--SIBLING(b x) MALE(b)
5 SISTER(s x) ~--SIBLING(s x) FEMALE(s)
6 SIBLING(x y) ~---DIFFERENT(x y) FATHER(f x) FATHER(f y) MOTHER(m x) MOTHER(m y)
7 HUSBAND(h w) *--MARRIED(h w) MALE(h)
8 WIFE(w h) ~---MARRIED(h w) FEMALE (w)
9 FATHER(f x) ~---PARENT(f x) MALE(f)
10 MOTHER(m x) ~---PARENT(m x) FEMALE(m)
and (as its 'facts') the following un-
conditional Horn-clauses:
11 CHILD(JIM JOE)*- 15 CHILD(JOE TOM)<-- 19 CHILD(TOD PAT)<--
12 CHILD(JOE MEG)~--- 16 CHILD(ANN SUE)<--- 20 CHILD(RON PAT)<--
13 CHILD(JIM SUE)*- 17 CHILD(PAT MEG)<-- 21 CHILD(TOD TED)<--
14 CHILD(ANN JOE)~--- 18 CHILD(PAT TOM)<-- 22 CHILD(RON TED)<---
23 MALE(JIM)~--- 29 FEMALE(ANN)<-- 35 MARRIED(TOM MEG)<---
24 MALE(JOE)~--- 30 FEMALE(SUE)<-- 36 MARRIED(JOE SUE)<--
25 MALE(TOM)*-- 31 FEMALE(MEG)<-- 37 MARRIED(TED PAT)<--
26 MALE(TED)~--- 32 FEMALE(PAT)<--- 38 MARRIED(RON SAL)<---
27 MALE(TOD)~--- 33 FEMALE(SAL)<-- 39 MARRIED(JIM JAN)<--
40 DIFFERENT(a b)*-- a # b & a, b, E {JIM, JOE, TOM, TED, TOD, RON, ANN, SUE, MEG, PAT, SAL, JAN}

Premise 40 is a 'virtual' definition: it


is simply a shorthand way of sup-
plying 132 facts (such as DIF-
FERENT(JOE ANN)*--) whose
predicate is DIFFERENT and
whose two arguments are distinct
constants in the displayed set.

S8 March 1992/%1.35, No.3/COMMUNICATiON6 OF THE ACM


F r o m this knowledge base there
are, for example, hyperresolution
deductions o f each of the following
unconditional clauses:
41 UNCLE(TED ANN)*- 45 PARENT(TOM PAT)*-- 49 F A T H E R ( T O M PAT)*--- 53 H U S B A N D ( T E D PAT)
42 UNCLE(TED JIM)*- 46 PARENT(TOM JOE)*- 50 FATHER(TOM JOE)*- 54 SISTER(PAT J O E ) * -
43 UNCLE(JOE TOD)*- 47 PARENT(MET PAT)*- 51 M O T H E R ( M E G PAT)*- 55 SIBLING(PAT JOE)*-
44 UNCLE(JOE RON)*- 48 PARENT(MEG JOE)~--- 52 MOTHER(MEG JOE)*- 56 PARENT(JOE ANN)*-
For example, clause 41, UNCLE
(TED ANN)*-, is the conclusion o f
the hyperresolution deduction
shown in Figure 6. T h e label on
each node is given in the diagram
by its n u m b e r next to the node, and
at each nonleaf node is followed by
the number, in parentheses, o f the
clause which is the justification o f
the node.

T h e cover o f the ultraresolution


inference c o r r e s p o n d i n g to this
hyperresolution deduction is shown
in Figure 7.

Figure 9 displays the cover o f this 31


ultraresolution inference in more
detail, and shows more clearly that
its status as an inference is concep-
tually i n d e p e n d e n t o f the corre-
sponding hyperresolution deduc-
tion. In Figure 9, each labeled node
o f the cover is r e p r e s e n t e d by a box FIGURE 7.
of one of the three types shown in
Figure 8. These represent a node
labeled respectively by a positive
conditional clause Q * - P1 • . • Pn, . . . . . . . . . . . . . .Q
...........
by a negative conditional clause Pa * * * Pn P1 • • • Pn
•- P ] • - • Pn, and by a positive un- t ........... Q ...........
conditional clause Q*-. conditional conditional unconditional
positiveclause n e g a t i v e clause p o s i t i v e clause

T h e thick lines in Figure 9 show the


pairs o f the unifiable kernel o f the FIGURE 8.
cover.
and applying cr to the conclusion o f negative conditional clause. By tak-
T h a t this k e r n e l / s unifiable is veri- the root clause yields UNCLE(TED ing a negative clause not-Q as the
fied by an easy computation. Its ANN)*-. premise together with a collection
mgu ~ is: o f variants o f clauses from K, we
Queries and Their Answers may be able to infer false by an
{a0=ul =h2=TED, Logic Programming ultraresolution. T h a t is, the set
b0=xl =y8=ANN, We can consider any collection K of {notQ} U K may well be inconsist-
sl = w 2 = s 3 = x 4 = x 5 positive H o r n clauses as a knowl- ent and its inconsistency demon-
= y7=x9=yll =PAT, edge base. A set o f positive H o r n strated by o u r inference. We then
pl =x3=y4=x6=x8 clauses is necessarily consistent: one can turn this inconsistency to o u r
= x l 0 = y12 = y13 = JOE, cannot deduce false from it by hy- advantage, by r e g a r d i n g not-Q as
f4= f5= f6=x7=xl3=TOM, perresolution (or what is the same, the negation o f a query Q that we
m4 -- m9 = m l 0 one cannot infer false from it by an want answered, and digging out the
= x l l = x12 = MEG}. ultraresolution) if it contains no answer from the details of the

COMMUNICATIONS OF THE ACM/March 1992/Vol.35, No.3 S9


Logic Programming

t HUSBANDIu'Sl)
I ......... ~I~EL~is~lp~i .................... PARENT'(plxl)
; ................... i ........ i . . . .

~ DIFFERENT(x4y4~ FATHER(f4x4} .....FAT"HE'Ri;]';4;" MOTHER(rn4x4) MOTHER(m4y4)


/ I I I
I "1 I "1 ! "1 I
.... I ...................... i I , ..................... , l I , ..................... , I I, ......................

~ DIFFERENT(PATJOE)]

FIGURE 9.

ultraresolution. general, h a v e d i f f e r e n t covers a n d function, for H o r n clauses. It is n o t


S u p p o s e that n o t - Q is the nega- kernels, a n d will t h e r e f o r e p r o v i d e clear to m e why [1] felt this n a m e
tive clause *--{Gl . . . . . Gn}. Recall d i f f e r e n t answers f r o m K to the same was unsuitable. W h a t e v e r we call it,
that we can r e a d ~--{G1 . . . . . Gn} as: query Q. this highly specialized a n d n a r r o w l y
T o find all these answers, what is restricted r e s o l u t i o n i n f e r e n c e has
not 3 x l . . . 3Xm GI a n d . . , and Gn
n e e d e d is a suitable way o f f i n d i n g the form2:
w h e r e xl • • • Xm are all o f the vari- all the d i f f e r e n t u l t r a r e s o l u t i o n in-
from A~B andG~H
ables o c c u r r i n g in the atoms G1, f e r e n c e s o f false whose m a i n p r e m -
infer (A U ~G)cr--~ Ho,
. . . . Gn. T h e n Q is ise is the n e g a t i v e clause n o t - Q a n d
if cr is a m o s t g e n e r a l u n i f i e r
whose c o v e r i n g p r e m i s e s are vari-
3xl ... :lXm Gl a n d . . . a n d Gn o f the 1-part partition
ants o f clauses in K.
a n d so an i n f e r e n c e o f false f r o m {{B, I'G}}.
{not-Q} u K is an i n f e r e n c e o f Q LUSH, AliaS SLD, ReSOlution T h e clause G ~ H is the main prem-
f r o m K. T h e usefulness o f this fact T h e original E d i n b u r g h solution to ise o f the i n f e r e n c e , a n d the clause
for logic p r o g r a m m i n g is that the this tricky c o m p u t a t i o n a l p r o b l e m A ~ B is the side premise.
m g u cr o f the k e r n e l o f the infer- was simple a n d beautiful, a n d it led T h e novel f e a t u r e o f this infer-
e n c e can be used to supply directly directly to Prolog. A f t e r m u c h ex- e n c e r u l e is its use o f the two func-
the 'answer' (x 1 . . . Xm)= (X 1 . . . ploration, [27] devised a 'linear' tions, selection (1') a n d remainder ($),
Xm)Cr tO the ' q u e r y ' 3Xl . . . 3Xm GI binary r e s o l u t i o n i n f e r e n c e p a t t e r n b o t h o f which o p e r a t e o n the set G
and . . . a n d Gn. which they called SL-resolution (for o f conditions o f the m a i n p r e m i s e .
T h e r e m a y be m a n y d i f f e r e n t Selective L i n e a r resolution). W h e n T h e f u n c t i o n 1' yields the condition
u l t r a r e s o l u t i o n i n f e r e n c e s o f false restricted to H o r n clauses, SL reso- which is selected, while the f u n c t i o n
which h a v e the s a m e n e g a t i v e lution b e c o m e s - - a s [1] n a m e d i t - -
clause as the m a i n p r e m i s e a n d S L D - r e s o l u t i o n (for Selective Lin- 2Actually, in the original version and the ver-
sion contained in the logic programming liter-
whose c o v e r i n g p r e m i s e s are taken ear resolution for Definite clauses). ature, the conclusion H of the main premiss is
f r o m the s a m e k n o w l e d g e base K. It A d e f i n i t e clause is (simply a n o t h e r omitted, and thus the main premiss is always a
is e v e n possible that the c o v e r i n g n a m e for) a positive H o r n clause. negative Horn-clause. Here, for various rea-
sons, one of which will shortly become evi-
premises also are the same, with H o w e v e r , [21] had already, in 1974, dent, we permit the main premiss to have a
only the u n d e r l y i n g c o v e r a n d ker- c o i n e d a m o r e whimsical n a m e for conclusion. In addition to its role as the 'an-
nel b e i n g different. I n any case, it: L U S H resolution, for L i n e a r res- swer template' in logic programming compu-
tations, the conclusion can be put to other
these d i f f e r e n t i n f e r e n c e s will, in olution with U n r e s t r i c t e d Selection good uses.

0 March 1992/Vol.35,No.3/COMMUNICATIONS OF THE ACM


yields the set of conditions which are not state Qt by using it as the main responds to the fact that the four
selected. T h u s at most one LUSH/SLD premise, and a variant of one of the unconditional clauses UN-
inference is possible from a given clauses from the knowledge base CLE(TED ANN)*--, UNCLE(TED
main premise and side premise, (or 'program') as the side premise, JIM)*-, UNCLE(JOE T O D ) * - and
and its conclusion/s unique to those to make a LUSH/SLD inference UNCLE(JOE RON)*-- can all be
two premises. Hence a LUSH/SLD whose conclusion is the (t + 1)st deduced by hyperresolution, or,
deduction will necessarily have a state Qt+ 1. A state is terminal if it is equivalently, inferred directly by an
linear structure, in which each suc- an unconditional clause. ultraresolution, from the knowl-
cessive LUSH/SLD resolution will T h u s each complete computation edge base.
have for its main premise the con- is a LUSH/SLD resolution proof What is so beautiful about this
clusion of the previous one. of an unconditional clause: Edinburgh scheme is that it turns
T h e really interesting and useful, ANSWER(tl . . . tm)<---, thereby out that the branches of the LUSH/
and at first acquaintance amazing providing the computation with the SLD computation tree correspond,
property of LUSH/SLD resolution answer (tl . . . tm) as its output. T h e one-to-one, to all the different
is that the choice of the selection and different possible computations are ultraresolution inferences whose
remainder functions is completely unre- related as the branches of a t r e e - - main premise is the initial state of
stricted (whence the 'U' in the name the LUSH/SLD computation tree-- the computation. T h e entire tree of
' L U S H ' - - m o r e ' s the pity that the since after any step there is in gen- LUSH/SLD computations is thus a
name 'SLD' lacks any acronymic eral more than one choice of positive complete survey of all possible
reference to this feature). Thus, in clause to take as the side premise for the ultraresolution inferences from that
particular, the selection and re- next step. Each n o n t e r m i n a l state of premise and the given knowledge
mainder functions can be chosen so the computation will in general, base.
as to make the sets of conditions in therefore, have more than one suc-
the successive main premises be- cessor state. It is the complete tree of This correspondence now makes
have like a stack, provided we take all possible computations for the it obvious why the selection/remain-
seriously the order in which the given query which is the total 'inter- der functions are unrestricted•
conditions are written, and always nal' response of the logic program- Once we see clearly that each
form the conclusion by adjoining ming engine to that query; but its LUSH/SLD proof is simply a node-
the new conditions, if any, on the 'external' response is simply (some by-node 'top down' or 'backward-
left of the remainder, in their written representation of) the set of all an- chaining' construction of the cover
order. T h e selection then yields the swers to the query. of an ultraresolution inference,
leftmost condition (the one at the starting with the antecedent of its
'top' of the 'stack'). A LUSH/SLD Example 5 (continued)• T h e family main premise, we can interpret
deduction then does indeed look knowledge base of Example 5 con- each LUSH/SLD step as a further
very much like the trace of a stack- tains enough information to pro- small increment in that construc-
oriented 'computation'. vide four different answers (a b) to tion. Since the node chosen by the
To compute all the answers to a the query 3abUNCLE(a, b), LUSH/SLD selection function as
given query 3xl . . . 3Xm (GI a n d namely: (TED ANN), (TED JIM), the site of the next increment of
• . . and Gn), we initialize the state (JOE TOD), (JOE RON). This cor- constuction is obviously arbitrary,
of the computation to the 'state'

Q0
setting it up to be the clause s ANSWER(t)
............................................
Q0 =
ANSWER(xl . . . Xm)*-Gl • • • Gn P (K (t) t K (t))

whose antecedent consists of the


initial set of 'goals' and whose con- P(uzw)
clusion is a special 'system' atom .......................................................................................

ANSWER(x] . . . Xm) acting as the P(xyu) P(yzv) P(xvw)


formal 'answer template'. We then
begin a series of computation steps,
each of which is a single LUSH/SLD
1 i I
resolution inference. In general the
( t + 1)st step transforms the t th
3The idea of using a formal answer template
in this way was originatedby CordellGreenin
the QA systemsdescribedearlierin this essay. F I G U R E 10.

COMMUNICATIONS OF THE ACM/March 1992/Vo1.35, No,3 61


Logic Programming
there is no restriction on what that the set of answers: pret atoms P(a b c) as saying that
selection function is taken to be. a.b = c. T h e first two clauses then
{ x = 0, x = s ( 0 ) , x = s ( s ( 0 ) ) ..... }.
together assert that • is associative.
Serial vs. Parallel Computation in Each answer comes from an ultra- T h e third says that the equation
Logic Programming resolution inference whose main x.a = b always has the solution x =
T h e branches of the LUSH/SLD premise is: G(a b), while the fourth says that
computation tree in the first logic the equation a.x = b always has the
ANSWER(x)~-NUMBER(x).
p r o g r a m m i n g (Prolog) systems solution x = H(a b). T h e query is
were generated serially, in a depth- All these answers are given by cov- then seen to be asking whether
first, backtracking search. This ers which exhibit the same general there is a t such that for all k, k-t =
tree-search method is subject to pattern. T h e LUSH/SLD computa- k, that is, whether there is a right iden-
embarrassing 'depth-first' infinite tion tree is an infinite binary tree tity element.
runaways when n o n t e r m i n a t i n g which has only two states at each
branches are present in the tree, nonzero depth t. O n e of these two
T h e kernel of the cover shown in
but it is otherwise a simple, natural states is the clause
Figure 10 is unifiable and has the
and effective way to search the mgu
ANSWER(S(S(... 0...)))~---
complete LUSH/SLD computation
tree and thus find the set of all an- with t occurrences of 's', and pro- cr={t=z=H(yy),x=
swers to a query. T h e answers will duces the answer G(yK(H(yy))),a=b=r=v=y,
be generated one at a time, as each s=u=w=K(H(yy))}
x = s(s(... 0...));
terminal state is encountered. If a and so the inference yields the un-
query has infinitely many answers the other is the clause
conditional clause ANSWER(H(y
(and the search tree therefore has y))*-- containing the universally
ANSWER(S(S(... S ( x ) . . . ) ) )
infinitely many branches), then the ~--NUMBER(x) quantified variable 'y'. In effect, the
set of all answers will simply (and response to the query are there right
correctly, in a reasonable sense) be with t + 1 occurrences of 's', which identity elements? is the general prop-
generated as a n o n t e r m i n a t i n g se- has two successors, and so on. osition: yes--for all y, H(y y) is a right
quence. identity element.
It is surely clear, however, that General Oueries and Answers
the branches of the LUSH/SLD Queries can contain universally Parallelism in Ultraresolution
computation tree need not be con- quantified variables, and so can Inferences
structed one at a time in this depth- their answers. Consider, for exam- T h e potential parallelism in the
first back-tracking m a n n e r . One ple, the knowledge base: breadth-first growth of the LUSH/
can instead grow the tree breadth- SLD tree is the kind which has
P(u z w)~---P(x y u)P(y z v)P(x v w)
first, with no back-tracking, by come to be known as or-parallelism.
P(x v w)*--P(x y u)P(y z v)P(u z w)
computing successive sets of states, Since each state may have several
P(G(a b) a b)*--
starting with the singleton set {Q0}, immediate-successor states it corre-
P(a H(a b) b*--.
and continuing, in general, by com- sponds to the fact that there may be
puting the (t + 1)st set as the set of and the query: 3 t Vk P(k t k). T h e alternative possible choices of a
all the immediate successors of all negation of the query is: Vt 3k not positive clause as side premise for
the states in the tth set. T h e differ- P(k t k), so (as explained, for exam- that state as main premise. As we
ent completed computations, to- ple, in [12]) in order to have a have seen, the classical LUSH/SLD
gether with their associated an- clause we must eliminate the exis- search (in its breadth-first version)
swers, will be harvested, at each tential quantifier. This is done by is a clever way to compute all possi-
level, as their corresponding termi- introducing a 'Skolem term' K(t) in ble ultraresolution inferences
nal states t u r n u p in these state sets. place of the existential variable. which have a given conditional
T h e r e is, of course, no logical sig- T h e negated query then is: Vt not clause Q as main premise, with cov-
nificance to the order in which these P(K(t) t K(t)), or in other words the ering premises taken from a given
answers are generated: the answers negative clause: ~---P(K(t) t K(t)). fixed knowledge base P. So the or-
logically form a set, not a sequence. T h u s the initial state for the LUSH/ parallel version of the LUSH/SLD
It is easy to find examples of que- SLD computation is the clause: process is a way of exploiting at
ries which have infinitely many an- ANSWER(t)~--P(K(t) t K(t)). least some of the potential parallel-
swers. For example, if the knowl- A n intuitive way to u n d e r s t a n d ism of the uhraresolution inference
edge base is the set of clauses: the clauses of this knowledge base is scheme.
to interpret their variables as rang- T h e challenge to the software
{NUMBER(0),.--, NUMBER(S(x))
ing over the elements of some set and hardware designers of future
~---NUMBER(x)}
which is closed u n d e r a binary com- logic p r o g r a m m i n g systems, how-
then the query ::Ix NUMBER(x) has position o p e r a t i o n . , and to inter- ever, comes from the clear percep-

62 March 1992/Vol.35, No.3/COMMUNICATION$ OF T H E A C M


tion that there is more potential simply lets this effect maximize it- entscheidungsproblem.J. SymbolicLogic
parallelism 'waiting there' than just self. 1 (1936) 40-41. (Reprinted in [11]).
the or-parallelism. T h e computa- Here, however, it is clear that we 7. Colmerauer, A. Les Systemes-Q ou
tion of the set of all ultraresolutions have arrived at a point where un formalisme pour analyser et syn-
with main premise Q and covering thesizer des phrases sur ordinateur.
merely logical considerations must
Rep. 43, Department of Computer
premises in P is abstractly just a yield the center stage to highly Science, University of Montreal,
matter of generating all covers of Q technical questions of algorithm 1970.
and then checking the kernel of design, complexity analysis, and 8. Colmerauer, A., Kanoui, H.,
each to see if it is unifiable. This, parallel computation, the discus- Pasero, R. and Roussel, P. Un sys-
however, is precluded by a 'combi- sion of which is outside the scope of teme de communication homme-
natorial explosion' problem. T h e r e this article. machine en Frangais. Tech. Rep.,
are simply too many covers. Even in Groupe d'Intelligence Artificielle,
the small family knowledge base we Glimpses Beyond Universite d'Aix Marseille II,
considered earlier, there are (as we I n this article I have discussed only Luminy, France, 1973.
9. Davidon, W. Personal communica-
noted) only four ultraresolutions the historical and conceptual back-
tion, 1962.
with the main premise g r o u n d of the logical origins of 10. Davis, M. Eliminating the irrelevant
logic programming. I have concen- from mechanical proofs. In Proceed-
ANSWER(a b)*--UNCLE(a b) trated on the resolution theorem- ings, Symposia of Applied Mathematics
proving ideas which have been my 15, American Mathematical Society,
and covering premises in the main interest from 1960 until the 1963, pp. 15-30. (Reprinted in
knowledge base. This means that present. I n describing its develop- [44], vol. 1, 315-330).
there are only four covers of its an- ment to the present, I have briefly 11. Davis, M., Ed. The Undecidable: Basic
tecedent whose kernels are unifiable. sketched the overall framework Papers on Undecidable Propositions,
T h e r e are, however, several billion within which today's specialists are Unsolvable Problems, and Computable
Functions. Raven Press, 1965.
covers of this antecedent whose seeking to exploit as much as possi-
kernels are not unifiable. Despite ble of the potential parallelism 12. Davis, M. and Putnam, H. A com-
the large size of the space to be puting procedure for quantification
which is clearly present in the fun-
theory. J. Assoc. Comput. Mach. 7
searched in this simple example, a damental processes. T h e rest of (1960), 201-216. (Reprinted in
breadth-first (quasi-or-parallel) that story is now better left for oth- [44], vol. 1, 125-139).
LUSH/SLD computation generates ers, more qualified, to tell. 13. Dwork, C, Kanellakis, P., and
a tree of about 140 states, level by Mitchell, J.C. On the sequential na-
level down to a depth of about 25, Acknowledgments ture of unification.J. Logic Program.
in order to produce all four an- I am grateful to Jacques Cohen, 1, (1984), 35-50.
swers and to show that there are no Jack Minker and Jonas Barklund 14. Frege, G. Begriffsschrifft, a Formula
more. T h e power of the LUSH/ for their excellent suggestions after Language, Modelled Upon that of
SLD search method rests in the fact reading an earlier version of this Arithmetic, for Pure Thought. English
that entire subtrees of these 'fail- article. I have tried to follow all of translation in [48], 1-82.
ures' are constantly being elimi- them. [ ] 15. Gentzen, G. The Collected Papers of
nated from the search. Its incremen- Gerhard Gentzen. M.E. Szabo Ed.,
tal unification process in effect References North-Holland, 1969.
1. Apt, K.R. and van Emeden, M.H. 16. Gilmore, P.C. A Proof Method for
detects a source of nonunifiability
Contributions to the Theory of Logic Quantification Theory: its Justifica-
as soon as it appears and therefore tion and Realization. IBM J. Res.
never permits a partially grown Programming. J. Assoc. Comput. Mach.
29 (1982), 841-862. Dev. 4 (1960), 28-35. (Reprinted in
cover containing that 'lethal gene' to [44], volume 1, 151-158).
9. Barklund, J. Parallel unification.
'breed' any progeny at all. T h u s the Ph.D. thesis, Computing Science 17. GOdel, K. The Completeness of the Axi-
LUSH/SLD p r u n i n g of the tree is as Department, Uppsala University, oms of the Functional Calculus of Logic,
drastic as it can be. Delaying any of 1990. 1930. English translation, with com-
this failure detection 'until later' 3. Baxter, L.D. An efficient unifica- mentary, in [48], 582-291.
will only allow these sources of fail- tion algorithm. Tech. Rep. CS-73- 18. Green, C.C. The application of the-
ure to propagate multiplicatively, 23, Department of Computer Sci- orem-proving to problem solving.
so that the future computational ence, University of Waterloo, 1973. In Proceedings of thefirst International
cost (whether in the extent of time 4. Baxter, L.D. The complexity of uni- Joint Conference on Artificial Intelli-
consumed or in the n u m b e r of par- fication. Ph.D. thesis, University of gence (Washington, D.C., 1969), pp.
Waterloo, 1976. 219-240.
allel resources needed) of detecting
5. Boyer, R.S. and Moore, J.S. The 19. Herbrand, J. Investigations in Proof
all of them will grow at the same Sharing of Structure in Theorem Theory (1930). English translation of
rate. Postponing all of the unifica- Proving Programs. Mach. lntell. 7 main parts, with commentary, in
tion analysis until the generation of (1972), 101-116. [48], 525-581, and of entire thesis
the set of all covers is completed 6. Church, A. A note on the in Jacques Herbrand: Logical Writings

C O M M U N I C A T I O N S OF T H E ACM/March 1992/Vo1.35, No.3 63


Logic Programming
(edited by Warren Goldfarb), Har- Voghera, N. A mechanical proof 48. van Heijenoort, J. Ed. From Frege to
vard, 1971, 44-202. procedure and its realization in an Godel; A Source Book in Mathematical
electronic computer.JACM 7 (1960) Logic, 1879-1931. Harvard Univer-
20. Hewitt, C. PLANNER: A language
102-128. (Reprinted in [44], vol- sity Press, 1967.
for proving theorems in robots. In Pro-
ume 1, 200-228). 49. Wang, H. Towards mechanical
ceedings of the first International Joint
36. Raphael, B. Programming a robot. mathematics. IBM J. Res. Dev. 4
Conference on Artificial Intelligence,
In Proceedings of Fourth IFIP Con- (1960), 2-22. (Reprinted in [44],
(Wash., D.C., 1969), pp. 295-301.
gress, North Holland, 1968, 135- volume 1, 244-264).
21. Hill, R. LUSH Resolution and its
139. 50. Warren, D.H.D. Implementing
Completeness. DCL Mem. 78, De-
37. Robinson, A. Proving a theorem (as PROLOG--compiling predicate
partment of Artificial Intelligence,
Done by Man, Logician, or Ma- logic programs (Res. Rep. 39 and
University of Edinburgh, 1974.
chine). Summaries of talks pre- 40), and Logic programming and
22. Huet, G. Resolution des equations dans
sented at the Summer Institute for compiler writing (Res. Rep. 44).
langages d'order 1, 2 . . . . oJ. These
Symbolic Logic. Communications Department of Artificial Intelli-
d'Etat, Universite Paris VII, 1976.
Research Division, Institute for gence, University of Edinburgh,
23. Kneale, W.C. and Kneale, M. The
Defense Analysis, Princeton, 1957. 1977.
Development of Logic. Oxford, 1962.
(Reprinted in [44], volume 1, 74- 51. Winograd, T. Understanding Natural
24. Kowalski, R.A. Predicate Calculus
76).
as a Programming Language. In Language. Academic Press, 1973.
38. Robinson, J.A. Theorem proving 52. Wos, L.T., Carson, D. and Robin-
Proceedings of Sixth IFIP Congress,
on the computer. J. Asso. Comput. son, G.A. The unit preference strat-
North Holland, 1974, pp. 569-574.
Mach. 10 (1963) 163-174. (Re- egy in theorem proving. AF1PS
25. Kowalski, R.A. Logic for Problem printed in ]44], volume 1, 372-
Solving. North-Holland, 1979. Conference Proceedings 26, Spartan
383). Books, Wash. D.C., 1964, pp. 615-
26. Kowalski, R.A. The early years of 39. Robinson, J.A. A machine-oriented
logic programming. Commun. ACM 621. (Reprinted in [44], vol. 1,387-
logic based on the resolution princi- 393).
31 (1988), 38-43. ple. JACM 12 (1965), 23-41. (Re-
27. Kowalski, R.A. and Kuehner, D. printed in [44], volume 1, 397- 53. Wos, L.T., Carson, D. and Robin-
Linear Resolution with Selection Func- 415). son, G.A. Efficiency and complete-
tion. Artificial Intelligence 2 (1971), 40. Robinson, J.A. Automatic Deduc- ness of the set of support strategy in
227-260. (Reprinted in [44], vol- tion with Hyper-resolution. Int. J. theorem proving. J. Assoc. Comput.
ume 1, 542-577). Comput. Math. 1 (1965), 227-234. Mach. 12, 1965, pp. 536-541, (Re-
28. Loveland, D.W. Mechanical theo- (Reprinted in [44], volume 1 , 4 1 6 - printed in [44], volume 1, 484-
rem proving by model elimination. 423). 489).
J. ACM 15 (1968), 236-251. (Re- 41. Robinson, J.A. Computational
printed in [44], volume 2, 117- logic: the unification computation. CR Categories and Subject Descrip-
134). Machine Intell. 6 (1970), 63-72. tors: D. 1.6 [Programming Techniques]:
29, L6wenheim, L. On Possibilities in the 42. Robinson, J.A. Fast Unification. Logic Programming; D.3.2 [Program-
Calculus of Relatives, 1915. English Tagung fiber Automatisches Be- ming Languages]: Language Classifica-
translation in [48], 228-251. weisen, Mathematisches For- tions--PROLOG; F.2.2 [Analysis of
30. Luckham, D. Refinement Theorems in schungsinstitut Oberwolfach, 1976. Algorithms and Problem Complexity]:
Resolution Theory. Lecture Notes in 43. Robinson, G.A. and Wos, L.T. Nonnumerical Algorithms and Prob-
Mathematics 125, Springer, 1970, Paramodulation and theorem prov- lems--complexity of proof procedures, pat-
163-190. ing in first-order theories with tern matching; F.4.1 [Mathematical Logic
31. McCarthy, J. Programs with Com- equality. Machine lntell. 4 (1969), and Formal Languages]: Mathematical
mon Sense. In Proceedings of a Sym- 103-133. Logic--computational logic, logic program-
posium on the Mechanization of 44. Siekmann, J.H. and Wrightson, G. ming, mechanical theorem proving, proof
Thought. H.M. Stationery Office, Eds. Automation of Reasoning. Classi- theory; 1.2.3 [Artificial Intelligence]:
London, 1959. (Reprinted in Se- cal Papers on Computational Logic Deduction and Theorem Proving--
mantic Information Processing MIT (1957-1966). Two volumes, answer~reason extraction, deduction, logic
Press, 1968). Springer, 1983. programming, metatheory, resolution; 1.2.4
32. Minsky, M. The Society of Mind. 45. Skolem, T. Logico-combinatorial In- [Artificial Intelligence]: Knowledge
Simon and Schuster, 1985. vestigations in the Satisfiability or Representation Formalisms and
33. Newell, A., Shaw, J.C. and Simon, Provability of Mathematical Proposi- Methods--predicate logic
H.A. Empirical explorations with tions (1920). English translation,
the logic theory machine: A case with commentary, in [48], 252-263.
study in heuristics. In Proceedings of Additional Key Words and Phrases:
46. Tarski, A. Logic, Semantics,
Unification
the Western Joint Computer Conference Metamathematics: Papers from 1923 to
(1957), pp. 218-239. (Reprinted in 1938, translated by J.H. Woodger,
[44], volume 1, 49-73). Further Reading
Oxford, 1956.
34. Prawitz, D. An Improved Proof Proce- 47. Turing, A.M. On computable num- Several excellent a n d r e c e n t fur-
dure. Theori_a 26 (1960) 102-139. bers, with an application to the ther sources are: J.W. Lloyd's
(Reprinted in [44], volume 1, 159- entscheidungsproblem. In Proceed- Foundations of Logic Programming
199, with a preface by the author). ings of the London Mathematical Soci- (second, extended edition,
35. Prawitz, D., Prawitz, H. and ety, 1937. (Reprinted in ll 1]). S p r i n g e r - V e r l a g 1987) a n d Logic,

64 Ma r c h 1992/Vo1.35, No.3/COMMUNICATIONS OF T H E A C M
Programming and Prolog by Ulf Nils- system combining the lambda calculus copies are not made or distributed for direct
son and J a n Maluszynski (Wiley, (for functional programming) with the commercial advantage, the ACM copyright
predicate calculus (for logic program- notice and the title of the publication and its
1990) provide rigorous but reada- date appear, and notice is given that copying
ble accounts not only o f much of ming) at the University of Tokyo, where
he is on a year's leave. Author's Present is by permission of the Association for
the material covered in the present Computing Machinery. To copyotherwise,or
Address: Office of the University Pro- to republish, requires a fee and/or specific
article but also of many noteworthy fessor, Syracuse University, Syracuse,
later developments. A m o n g these permission.
NY 13244-2010
are: Permission to copy without fee all or part of
this material is granted provided that the © ACM 0002-0782/92/0300-040 $1.50
• the addition o f imperative con-
trol features such as the cut;
• the elegant negation as failure
technique by which all m o d e r n
Prolog systems permit negative
ALS Prolog realizes
conditions in both positive and Logic Programming.
negative conditional clauses;
Logic Programming provides one of the most advanced and refined
• the inclusion of arithmetical, list-
processing, metalinguistic and other approaches ~ f o r solving complex programming problems.
applied predicates and operators After all, L ~ 7 / logic itselfhas been under development by the
a m o n g the atoms and terms; human race ~ - . J ~ for well over 2,000 years. Prolog is the
• alternative logic p r o g r a m m i n g
paradigms, such as concurrent most successful ~ , . _ ~ / realization of the Logic Programming
logic programming, constraint logic approach, providing/""--~ a very high conceptual approach to
programming, and higher-order logic problem analysis and implementation, coupled with extremely
programming.
general and fast pattern-matching.//~-~ And ALS Prolog is by
For the r e a d e r who wishes to far the most powerful collection o f \ ~ f ~ \ Prolog compilers
learn m o r e about applications and
methodology o f logic p r o g r a m m i n g , available. Whether your task is ~ / ~ advanced exploratory
about Prolog, and about exploiting research, or the development of ~ complex production systems,
the potential parallelism in logic, I the ALS Prolog compiler is the ~ Itool of choice.
also r e c o m m e n d the following re-
cent books:
Develop with one ALS Prolog compiler, and you re devel-
oping with them all. ALS is committed to a uniform implementation
• The Art of Prolog by L. Sterling on all platforms, yet you get access to all ~ the facilities of
and E. Shapiro (MIT Press,
1986); each platform, including each native win- ~ . ~ / dowing system.
• Prolog Programming for Artificial You can couple your Prolog programs to C ~ programs via a
Intelligence by I. Bratko (second very broad C interface ~ which allows Prolog to manipulate
edition, Addison-Wesley, 1990);
• The Craft of Prolog by R. O'Keefe C data, and allows C to \ ~ / ~ c a l l into Prolog. Stream-based
( M I T Press, 1990). IPC communication, l o c a l k ~ / / a n d remote, is available. We sup-
• Essentials of Logic Programming by port 386/486 machines under SCO Unix and DOS (virtual memory),
C.J. H o g g e r (Oxford: Clarendon
Press, 1990), soon with Windows 3.0, as well as the Apple ~ Macintosh, Sun
• Parallelism in Logic: its potential for SPARC and 680x0, DEC v a x (VMS) and ~ 7 ~ ~
performance and program develop- all Motorola 88000-based machines, and
ment by Franz Kurfess (Braun-
schweig, Vieweg, 1991). planning to add even more platforms in the
• Parallel Logic Programming by future. ~ ~ j ~Z~~] ~ [
Evan Tick (MIT Press, 1991). Call or write today. If you're
About the Author: learning Prolog, ask about our
J.A. ROBINSON teaches philosophy
and computer science at the University student versions l l APPLIED LOGIC SYSTEMS, INC.
of Syracuse, where he is now University for the PC and ~ P.O. BOX 90, UNIVERSITYSTATION
Professor. His research interests include Macintosh. 1 1 SYRACUSE,NY, 13210 USA
computational logic and automated
deduction. He is currently working on a 1 PHONE: 315-471-3900FAX:315-471-2606
massively parallel logical computation Circle # 7 9 on Reader Service Card

COMMUNICATIONS OF THE ACM/March 1992/Vol.35, No.3 6S

You might also like