A Tough Nut for Theorem Provers
"It is well known to be impossible to tile with dominoes a checkerboard with two opposite corners deleted. This fact is readily stated in the first order predicate calculus, but the usual proof which involves a parity and counting argument does not readily translate into predicate calculus. We conjecture that this problem will be very difficult for programmed proof procedures."Stanford Artificial Intelligence Project Memo No. 16
LISP 1.5 Programmer's Manual
"The LISP language is designed primarily for symbolic data processing. It has been used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing, and other fields of artificial intelligence.LISP is a formal mathematical language. It is therefore podsible to give a concise yet complete description of it. Such is the purpose of this first section of the manual. Other sections will describe ways of using LISP to advantage and will explain extensions of the language which make it a convenient programming system."The M.I.T. Press
A Heuristic Program that Solves Symbolic Integration Problems in Freshman Calculus
A large high-speed general-purpose digital computer (IBM 7090) wasProgrammed to solve elementary symbolic integration problems at approximatelythe level of a good college freshman. The program is called SAINT,an acronym for "Symbolic Automatic INTegrator." The SAINT programis written in LISP (McCarthy, 1960), and most of the work reported hereJs the substance of a doctoral dissertation at the Massachusetts Institute ofTechnology (Slagle, 1961). This discussion concerns the SAINT programand its performance.Some typical samples of SAINT's external behavior are given so thatthe reader may think in concrete terms. Journal of the ACM, Vol 10, No. 4, pp. 507-520, October 1963.
Experiments with a heuristic compiler
"This report describes some experiments in constructing a compiler that makes use of heuristic problem~solving techniques such as those incorporated in the General Problem Solver (GPS). The experiments were aimed at the dual objectives of throwing light on some of the problems of constructing more powerful programming languages and compilers, and of testing whether the task of writing a computer program can be regarded as a "problem" in the sense in which that term is used in GPS. The present paper is concerned primarily with the second objective--with analyzing some of the problem-solving processes that are involved in writing computer programs. At the present stage of their development, no claims will be made for the heuristic programming procedures described here as practical approaches to the construction of compilers. Their interest lies in what they teach us about the nature of the programming task." JACM, 10, 493-506. See also: Artificial intelligence and self-organizing systems: Experiments with a Heuristic Compiler. (http://dl.acm.org/citation.cfm?id=806076)
Inferential Memory as the Basis of Machines Which Understand Natural Language
Article based on Ph.D. dissertation at Carnegie Tech. "... the problem of meaning is of major importance in the study of the nature of intelligence, and that a useful definition of meaning must include not only denotation but connotation and implication as well. To handle these important questions it is necessary to study cognitive organizations which are more complex than those upon which most psychological theories are based. A central question is the storage of large numbers of interrelated propositions in a manner which efficiently uses memory capacity." In E.A. Feigenbaum & J. Feldman (Eds.) Computers and Thought, pp. 217-233. McGraw-Hill, 1963.