Logic & Formal Reasoning
Non-monotonic logic I
'Non-monotonic' logical systems are logics in which the introduction of new axioms can invalidate old theorems. Such logics are very important in modeling the benefits of active processes which, acting in the presence of incomplete information, must make and subsequently revise assumptions in light of new observations. We present the motivation and history of such logics. We develop model and proof theories, a proof procedure, and applications for one non-monotonic logic. In particular, we prove the completeness of the non-monotoic predicate calculus and the decidability of the non-monotonic sentential calculus. We also discuss characteristic properties of this logic and its relationship to stronger logics, logics of incomplete information, and truth maintenance systems. Artificial Intelligence 13:41-72.
Circumscription - A form of non-monotonic reasoning
"Circumscription is a rule of conjecture that can be used by a person or program for `jumping to certain conclusions'. Namely, the objects that can be shown to have a certain property P by reasoning from certain facts A are all the objects that satisfy P. More generally, circumscription can be used to conjecture that the tuples
A Computational Logic
We discuss the problem of incorporating into a heuristic theorem prover a decision procedure for a fragment of the logic. An obvious goal when incorporating such a procedure is to reduce the search space explored by the heuristic component of the system, as would be achieved by eliminating from the system's data base some explicitly stated axioms. For example, if a decision procedure for linear inequalities is added, one would hope to eliminate the explicit consideration of the transitivity axioms. However, the decision procedure must then be used in all the ways the eliminated axioms might have been. The difficulty of achieving this degree of integration is more dependent upon the complexity of the heuristic component than upon that of the decision procedure. The view of the decision procedure as a black box is frequently destroyed by the need pass large amounts of search strategic information back and forth between the two components.
Relational Programming
In this paper we have shown how it is possible to use certain combinators onrelations to produce an interpretation of a class of clauses (Horn Clauses) inpredicate logic. The work was inspired by a particular view of the task of writingcertain kinds of program, but has not yet given rise to a system implementedon a digital computer, although some initial studies have been made.Hayes, J.E., D. Michie, and L. I. Mikulich (Eds.), Machine Intelligence 9, Ellis Horwood.
Solving Mechanics problems using meta-level inference
Bundy, A. | Byrd, L. | Luger, G. | Mellish, C. | Palmer, M.
Our purpose in studying natural language understanding in conjunction with problem solving is to bring together the constraints of what formal representation can actually be obtained with the question of what knowledge is required in order to solve a wide range of problems in a semantically rich domain. We believe that these issues cannot sensibly be tackled in isolation. In practical terms we have had the benefits of an increased awareness of common problems in both areas and a realisation that some of our techniques are applicable to both the control of inference and the control of parsing. Early work on solving mathematical problems stated in natural language was done by Bobrow (STUDENT - (i]) and Chamiak (CARPS - [5]). However the rudimentary parsing and simple semantic structures used by Bobrow and Charniak are inadequate for any but the easiest problems. Our intention has been to build on B/RG Chris This work was supported by SRC grant number 94493 and an SRC research studentship for Mellish.
On Automated Scientific Theory Formation: A Case Study using the AM Program
A program called "AM" is described which carries on simple mathematics research,defining and studying new concepts under the guidance of a large body ofheuristic rules. The 250 heuristics communicate via an agenda mechanism, aglobal priority queue of small tasks for the program to perform, and reasons whyeach task is plausible (for example, "Find generalizations of 'primes', because'primes' turned out to be so useful a concept"). Each concept is represented asan active, structured knowledge module. One hundred very incomplete modulesare initially supplied, each one corresponding to an elementary set-theoreticconcept (for example, union). This provides a definite but immense space whichAM begins to explore. In one hour, AM rediscovers hundreds of common concepts(including singleton sets, natural numbers, arithmetic) and theorems (for example,unique factorization).Summary of Ph.D. dissertation.Hayes, J.E., D. Michie, and L. I. Mikulich (Eds.), Machine Intelligence 9, Ellis Horwood.
Automatic theorem proving: A logical basis
Most resolution theorem provers convert a theorem into clause form before attempting to find a proof. The conventional translation of a first-order formula into clause form often obscures the structure of the formula, and may increase the length of the formula by an exponential amount in the worst case. We present a non-standard clause form translation that preserves more of the structure of the formula than the conventional translation. This new translation also avoids the exponential increase in size which may occur with the standard translation. We show how this idea may be combined with the idea of replacing predicates by their definitions before converting to clause form.
On program synthesis knowledge
This paper presents a body of program synthesis knowledge dealing with array operations, space reutilization, the divide-and-conquer paradigm, conversion from recursive paradigms to iterative paradigms, and ordered set enumerations. Such knowledge can be used for the synthesis of efficient and in-place sorts including quicksort, mergesort, sinking sort, and bubble sort, as well as other ordered set operations such as set union, element removal, and element addition. The knowledge is explicated to a level of detail such that it is possible to codify this knowledge as a set of program synthesis rules for use by a computer-based synthesis system. The use and content of this set of programming rules is illustrated by the methodical synthesis of bubble sort, sinking sort, quicksort, and mergesort.