Goto

Collaborating Authors

 Logic & Formal Reasoning


Relational Programming

AI Classics

The two favoured theoretical bases for languages have been lambda calculus as advocated by Landin and others, and predicate calculus as advocated by Kowalski (see Landin (1966) and Kowalski (1973)). In this paper I adopt an approach based on predicate calculus, but in a manner that differs from the existing PROLOG language (Warren 1975 and Battani & Meloni 1973) in that I adopt a "forward inference" approach -- inferring conclusions from premises, rather than the "backward inference" approach of PROLOG, which starts with a desired conclusion and tries to find ways of inferring it. This difference is reflected in the internal structure of the associated implementations, that of PROLOG being a "backtrack search" kind of implementation, while the most obvious implementation of the system proposed here involves a kind of mass operation on tables of data, reminiscent of APL (Iverson 1962) but in fact identical in many respects with the work of Codd (Codd 1970) on relational data bases. Indeed, from one perspective this paper can be seen as an extension of Codd's work into the realm of general purpose computing. As in the case of PROLOG it is necessary for the user of the relational programming system to make statements which are not associated with the logical structure of the problem, but reflect the need to control the computation. In PROLOG these are effected by the use of extra-logical control primitives, but in our system control is exercised by the introduction of predicates for that purpose, which have exactly the same semantics as the predicates relevant to the logical structure of the problem. In later sections I deal with the problem of introducing equality into the system, in a way that reflects the normal mathematical usage of equality.



MI-8-Intro.pdf

AI Classics

The eighth volume completes a ten-year span of the Machine Intelligence series. It is appropriate, therefore, to take stock of the main events, and to note certain solid steps and occasional forward leaps. Leaps are normally preceded by some preparatory back-tracking. The uniform procedures of heuristic search and resolution theorem-proving which dominated the scene in 1965 cannot of themselves, as we now see, be developed into "the answer" to automatic problem-solving. This realisation has paved the way for machine-aided forays into non-trivial mathematics, as indicated in Bledsoe and Tyson's contribution to this volume.




26 Inference and Knowledge in Language Comprehension

AI Classics

To use language one must be able to make inferences about the information which language conveys. This is apparent in many ways. For one thing, many of the processes which we typically consider "linguistic" require inference making. For example, structural disambiguation: (1) Waiter, I would like spaghetti with meat sauce and wine. You would not expect to be served a bowl of spaghetti floating in meat sauce and wine. That is, you would expect the meal represented by structure (2) rather than that represented by (3).


Representation of Knowledge in a Geometry Machine E. W. Elcock

AI Classics

Department of Computer Science University of Western Ontario PART 1 In their book Mathematics and Logic Kac and Ulam (1971) comment: "The point of view as it has evolved through centuries is that one need not know what things are as long as one knows what statements about them one is allowed to make. Hilbert's famous Grundlagen der Geometrie begins with the sentence: 'Let there be three kinds of objects; the objects of the first kind shall be called "points", those of the second kind "lines", and those of third "planes". That is all, except that there follows a list of initial statements (axioms) that involve the words "point', "line" and "plane", and from which other statements involving those undefined words can now be deduced by logic alone. This permits geometry to be taught to a blind man and even to a computer!" Leaving aside the attitude implicit in Kac & Ulam's use of the word'even' in the phrase even to a computer', it has become clear that programs to prove theorems in ...




4 Building-in Equational Theories G. D. Plotkin

AI Classics

INTRODUCTION If let loose, resolution theorem-provers can waste time in many ways. They can continually rearrange the multiplication brackets of an associative multiplication operation or replace terms t by ones like f(f(f(t, e), e), e) where f is a multiplication function and e is its identity. Generally they continually discover and misapply trivial lemmas. Global heuristics using term complexity do not help much and ad hoc devices seem suspicious. On the other hand, one would like to evaluate terms when possible, for example we would want to replace 5 4 by 9. More generally one would like to have liberty to simplify, to factorise and to rearrange terms. The obvious way to deal with an associative multiplication would be to imitate people, and just drop the multiplication brackets. However used or abused the basic facts involved in such manipulations form an equational theory, T, that is, a theory all of whose sentences are universal closures of equations. Under certain conditions, we will be able to build the equational theory into the rules of inference. The resulting method will be resolution-like, the difference being that concepts are defined using provable equality between terms rather than literal identity. Therefore the set of clauses expressing the theory will not be among the input clauses, so no time will be wasted in the misapplication of trivial lemmas, since the rules will not waste time in this way.